You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2012/05/15 09:58:58 UTC

svn commit: r1338579 - in /synapse/trunk/java/modules/core/src: main/java/org/apache/synapse/rest/dispatch/URLMappingHelper.java test/java/org/apache/synapse/rest/URLMappingBasedDispatcherTest.java

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));