Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Erdfelt2013-09-11 14:21:41 +0000
committerJoakim Erdfelt2013-09-11 14:24:25 +0000
commitdc59080fca1b5062b8cb3cfc5891b1d9c852fb1c (patch)
treea06986f7580e77af12e8c1d77dee048eedf16127 /jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket
parentc49ba7bdcc474857aa00235a90902287f1c08e83 (diff)
downloadorg.eclipse.jetty.project-dc59080fca1b5062b8cb3cfc5891b1d9c852fb1c.tar.gz
org.eclipse.jetty.project-dc59080fca1b5062b8cb3cfc5891b1d9c852fb1c.tar.xz
org.eclipse.jetty.project-dc59080fca1b5062b8cb3cfc5891b1d9c852fb1c.zip
WebSocket / Fixing pathmap matching when query parameters are provided
Diffstat (limited to 'jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket')
-rw-r--r--jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java2
-rw-r--r--jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/RegexPathSpec.java14
2 files changed, 13 insertions, 3 deletions
diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java
index d5d5f1bae5..7680c7618a 100644
--- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java
+++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java
@@ -110,7 +110,7 @@ public class WebSocketUpgradeFilter extends ContainerLifeCycle implements Filter
{
HttpServletRequest httpreq = (HttpServletRequest)request;
HttpServletResponse httpresp = (HttpServletResponse)response;
- String target = httpreq.getServletPath();
+ String target = httpreq.getRequestURI();
if (factory.isUpgradeRequest(httpreq,httpresp))
{
diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/RegexPathSpec.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/RegexPathSpec.java
index 4b29126f90..040b61149b 100644
--- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/RegexPathSpec.java
+++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/RegexPathSpec.java
@@ -159,8 +159,18 @@ public class RegexPathSpec extends PathSpec
}
@Override
- public boolean matches(String path)
+ public boolean matches(final String path)
{
- return getMatcher(path).matches();
+ int idx = path.indexOf('?');
+ if (idx >= 0)
+ {
+ // match only non-query part
+ return getMatcher(path.substring(0,idx)).matches();
+ }
+ else
+ {
+ // match entire path
+ return getMatcher(path).matches();
+ }
}
}

Back to the top