All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.codearte.accurest.stubrunner.messaging.camel.StubRunnerCamelProcessor.groovy Maven / Gradle / Ivy

There is a newer version: 1.1.1
Show newest version
package io.codearte.accurest.stubrunner.messaging.camel

import groovy.transform.PackageScope
import io.codearte.accurest.builder.BodyAsString
import io.codearte.accurest.dsl.GroovyDsl
import org.apache.camel.Exchange
import org.apache.camel.Message
import org.apache.camel.Processor

/**
 * Sends forward a message defined in the DSL. Also removes headers from the
 * input message and provides the headers from the DSL.
 *
 * @author Marcin Grzejszczak
 */
@PackageScope
class StubRunnerCamelProcessor implements Processor {

	private final GroovyDsl groovyDsl

	StubRunnerCamelProcessor(GroovyDsl groovyDsl) {
		this.groovyDsl = groovyDsl
	}

	@Override
	void process(Exchange exchange) throws Exception {
		Message input = exchange.in
		input.body = BodyAsString.extractClientValueFrom(groovyDsl.outputMessage.body)
		groovyDsl.input.messageHeaders.entries.each {
			input.removeHeader(it.name)
		}
		groovyDsl.outputMessage.headers.entries.each {
			input.setHeader(it.name, it.clientValue)
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy