Author: hiranya
Date: Tue May 15 07:58:57 2012
New Revision: 1338579
URL: http://svn.apache.org/viewvc?rev=1338579&view=rev
Log:
Supporting proper exact matches with query parameters
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/dispatch/URLMappingHelper.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/rest/URLMappingBasedDispatcherTest.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/dispatch/URLMappingHelper.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/dispatch/URLMappingHelper.java?rev=1338579&r1=1338578&r2=1338579&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/dispatch/URLMappingHelper.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/rest/dispatch/URLMappingHelper.java
Tue May 15 07:58:57 2012
@@ -45,6 +45,10 @@ public class URLMappingHelper implements
if (!"/".equals(url)) {
url = RESTUtils.trimTrailingSlashes(url);
}
+ int index = url.indexOf('?');
+ if (index != -1) {
+ url = url.substring(0, index);
+ }
return exactMatch != null && exactMatch.equals(url);
}
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/rest/URLMappingBasedDispatcherTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/rest/URLMappingBasedDispatcherTest.java?rev=1338579&r1=1338578&r2=1338579&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/rest/URLMappingBasedDispatcherTest.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/rest/URLMappingBasedDispatcherTest.java
Tue May 15 07:58:57 2012
@@ -142,6 +142,14 @@ public class URLMappingBasedDispatcherTe
handler.process(synCtx);
assertEquals(PROP_VALUE, synCtx.getProperty(PROP_NAME));
+ synCtx = getMessageContext(synapseConfig, false, "/test/foo/bar?a=5",
"GET");
+ handler.process(synCtx);
+ assertEquals(PROP_VALUE, synCtx.getProperty(PROP_NAME));
+
+ synCtx = getMessageContext(synapseConfig, false,
"/test/foo/bar?a=5&name=test", "GET");
+ handler.process(synCtx);
+ assertEquals(PROP_VALUE, synCtx.getProperty(PROP_NAME));
+
synCtx = getMessageContext(synapseConfig, false, "/test/foo", "GET");
handler.process(synCtx);
assertNull(synCtx.getProperty(PROP_NAME));