[ https://issues.apache.org/jira/browse/WICKET-7162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18013465#comment-18013465 ]
ASF GitHub Bot commented on WICKET-7162: ---------------------------------------- reiern70 commented on code in PR #1223: URL: https://github.com/apache/wicket/pull/1223#discussion_r2270317462 ########## wicket-native-websocket/wicket-native-websocket-javax/src/main/java/org/apache/wicket/protocol/ws/javax/JavaxUpgradeHttpRequest.java: ########## @@ -75,14 +82,13 @@ public JavaxUpgradeHttpRequest(final Session session, EndpointConfig endpointCon userProperties = endpointConfig.getUserProperties(); } - this.httpSession = (HttpSession) userProperties.get("session"); - this.headers = (Map<String, List<String>>) userProperties.get("headers"); + this.httpSession = (HttpSession) userProperties.get(SESSION); + this.headers = (Map<String, List<String>>) userProperties.get(HEADERS); this.queryString = session.getQueryString(); this.userPrincipal = session.getUserPrincipal(); Object requestURI = session.getRequestURI(); this.requestUri = requestURI != null ? requestURI.toString() : ""; - this.contextPath = httpSession.getServletContext().getContextPath(); - + this.contextPath = (String)userProperties.get(CONTEXT_PATH); Review Comment: Now this parameter should come either from session or from request URI. > avoid NPE when web socket upgrade request is done in a stateless context > ------------------------------------------------------------------------ > > Key: WICKET-7162 > URL: https://issues.apache.org/jira/browse/WICKET-7162 > Project: Wicket > Issue Type: Improvement > Reporter: Ernesto Reinaldo Barreiro > Assignee: Ernesto Reinaldo Barreiro > Priority: Major > > JavaxUpgradeHttpRequest assumes there is a session. Thus, such a request will > fail when there is none. > > {code:java} > public JavaxUpgradeHttpRequest(final Session session, EndpointConfig > endpointConfig) > { > Map<String, Object> userProperties = session.getUserProperties(); > if (userProperties == null || userProperties.isEmpty()) > { > // workaround for JBoss Wildfly 8.0.Final > userProperties = endpointConfig.getUserProperties(); > } > this.httpSession = (HttpSession) userProperties.get("session"); > this.headers = (Map<String, List<String>>) userProperties.get("headers"); > this.queryString = session.getQueryString(); > this.userPrincipal = session.getUserPrincipal(); > Object requestURI = session.getRequestURI(); > this.requestUri = requestURI != null ? requestURI.toString() : ""; > this.contextPath = httpSession.getServletContext().getContextPath(); > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)