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

io.codearte.accurest.stubrunner.messaging.integration.StubRunnerIntegrationTransformer.groovy Maven / Gradle / Ivy

package io.codearte.accurest.stubrunner.messaging.integration

import io.codearte.accurest.builder.BodyAsString
import io.codearte.accurest.dsl.GroovyDsl
import org.springframework.integration.transformer.GenericTransformer
import org.springframework.messaging.Message
import org.springframework.messaging.MessageHeaders
import org.springframework.messaging.support.MessageBuilder

/**
 * Sends forward a message defined in the DSL.
 *
 * @author Marcin Grzejszczak
 */
class StubRunnerIntegrationTransformer implements GenericTransformer, Message> {

	private final GroovyDsl groovyDsl

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

	@Override
	Message transform(Message source) {
		if (!groovyDsl.outputMessage) {
			return source
		}
		String payload = BodyAsString.extractClientValueFrom(groovyDsl.outputMessage.body)
		Map headers = groovyDsl.outputMessage.headers.asStubSideMap()
		return MessageBuilder.createMessage(payload, new MessageHeaders(headers))
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy