Added matching for headers as Patterns

This commit is contained in:
Marcin Grzejszczak
2016-04-23 08:54:43 +02:00
parent b7e923af6d
commit bc53b23f33
2 changed files with 12 additions and 2 deletions

View File

@@ -12,6 +12,8 @@ import io.codearte.accurest.util.JsonToJsonPathsConverter
import org.apache.camel.Exchange
import org.apache.camel.Predicate
import java.util.regex.Pattern
/**
* Passes through a message that matches the one defined in the DSL
*
@@ -52,7 +54,10 @@ class StubRunnerCamelPredicate implements Predicate {
return groovyDsl.input.messageHeaders.entries.every {
String name = it.name
Object value = it.clientValue
return headers.get(name) == value
Object valueInHeader = headers.get(name)
return value instanceof Pattern ?
value.matcher(valueInHeader.toString()).matches() :
valueInHeader == value
}
}
}

View File

@@ -12,6 +12,8 @@ import io.codearte.accurest.util.JsonToJsonPathsConverter
import org.springframework.integration.core.MessageSelector
import org.springframework.messaging.Message
import java.util.regex.Pattern
/**
* Passes through a message that matches the one defined in the DSL
*
@@ -52,7 +54,10 @@ class StubRunnerIntegrationMessageSelector implements MessageSelector {
return groovyDsl.input.messageHeaders.entries.every {
String name = it.name
Object value = it.clientValue
return headers.get(name) == value
Object valueInHeader = headers.get(name)
return value instanceof Pattern ?
value.matcher(valueInHeader.toString()).matches() :
valueInHeader == value
}
}
}