diff options
author | Joakim Erdfelt | 2013-09-11 14:21:41 +0000 |
---|---|---|
committer | Joakim Erdfelt | 2013-09-11 14:24:25 +0000 |
commit | dc59080fca1b5062b8cb3cfc5891b1d9c852fb1c (patch) | |
tree | a06986f7580e77af12e8c1d77dee048eedf16127 /jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket | |
parent | c49ba7bdcc474857aa00235a90902287f1c08e83 (diff) | |
download | org.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')
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(); + } } } |