[
https://issues.apache.org/jira/browse/WICKET-7162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18013266#comment-18013266
]
ASF GitHub Bot commented on WICKET-7162:
----------------------------------------
reiern70 commented on code in PR #1223:
URL: https://github.com/apache/wicket/pull/1223#discussion_r2267529536
##########
wicket-native-websocket/wicket-native-websocket-javax/src/main/java/org/apache/wicket/protocol/ws/javax/JavaxUpgradeHttpRequest.java:
##########
@@ -75,14 +81,21 @@ 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();
-
+ if (httpSession == null)
+ {
+ this.contextPath = "/";
Review Comment:
@martin-g I'm not sure this is correct or if this path is used anywhere
else.. I was looking into code base and didn't see any other object from where
we could take the path. We are getting this NPE from time to time on our test
severs...
> 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)