Merge pull request #6698 from eclipse/jetty-10.0.x-6696-WebSocketUpgradeRequest

Issue #6696 - don't keep Request object in the WebSocketNegotiation after upgrade
This commit is contained in:
Lachlan 2021-09-08 19:03:54 +10:00 committed by GitHub
commit aa75d0430c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 1 deletions

View File

@ -31,10 +31,10 @@ import org.eclipse.jetty.websocket.core.WebSocketComponents;
public abstract class WebSocketNegotiation
{
private final Request baseRequest;
private final HttpServletRequest request;
private final HttpServletResponse response;
private final WebSocketComponents components;
private Request baseRequest;
private String version;
private List<ExtensionConfig> offeredExtensions;
private List<ExtensionConfig> negotiatedExtensions;
@ -54,6 +54,11 @@ public abstract class WebSocketNegotiation
return baseRequest;
}
public void upgrade()
{
this.baseRequest = null;
}
public HttpServletRequest getRequest()
{
return request;

View File

@ -167,6 +167,7 @@ public abstract class AbstractHandshaker implements Handshaker
// Save state from request/response and remove reference to the base request/response.
upgradeRequest.upgrade();
upgradeResponse.upgrade();
negotiation.upgrade();
if (LOG.isDebugEnabled())
LOG.debug("upgrade connection={} session={} framehandler={}", connection, coreSession, handler);