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