diff options
Diffstat (limited to 'jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/ServletUpgradeRequest.java')
-rw-r--r-- | jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/ServletUpgradeRequest.java | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/ServletUpgradeRequest.java b/jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/ServletUpgradeRequest.java index fd739e0b51..52c685c139 100644 --- a/jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/ServletUpgradeRequest.java +++ b/jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/ServletUpgradeRequest.java @@ -57,7 +57,15 @@ public class ServletUpgradeRequest extends UpgradeRequest setHttpVersion(request.getProtocol()); // Copy parameters - super.setParameterMap(request.getParameterMap()); + Map<String, List<String>> pmap = new HashMap<>(); + if (request.getParameterMap() != null) + { + for (Map.Entry<String, String[]> entry : request.getParameterMap().entrySet()) + { + pmap.put(entry.getKey(),Arrays.asList(entry.getValue())); + } + } + super.setParameterMap(pmap); // Copy Cookies Cookie rcookies[] = request.getCookies(); @@ -78,12 +86,7 @@ public class ServletUpgradeRequest extends UpgradeRequest while (headerNames.hasMoreElements()) { String name = headerNames.nextElement(); - Enumeration<String> valuesEnum = request.getHeaders(name); - List<String> values = new ArrayList<>(); - while (valuesEnum.hasMoreElements()) - { - values.add(valuesEnum.nextElement()); - } + List<String> values = Collections.list(request.getHeaders(name)); setHeader(name,values); } @@ -266,4 +269,18 @@ public class ServletUpgradeRequest extends UpgradeRequest this.req.setAttribute(name,o); } + public Object getServletAttribute(String name) + { + return req.getAttribute(name); + } + + public boolean isUserInRole(String role) + { + return req.isUserInRole(role); + } + + public String getRequestPath() + { + return req.getServletPath(); + } } |