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

Reply via email to