Skip to content

Commit

Permalink
Partial revert of 1f8913a
Browse files Browse the repository at this point in the history
For WebFlux we can't use ServletContextAware.

See gh-30344
  • Loading branch information
rstoyanchev committed Sep 13, 2023
1 parent 74182cd commit 1f1f222
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import java.util.function.Predicate;
import java.util.stream.Collectors;

import jakarta.servlet.ServletContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import reactor.core.publisher.Mono;
Expand All @@ -40,7 +39,6 @@
import org.springframework.util.ClassUtils;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.reactive.socket.HandshakeInfo;
import org.springframework.web.reactive.socket.WebSocketHandler;
import org.springframework.web.reactive.socket.server.RequestUpgradeStrategy;
Expand All @@ -65,7 +63,7 @@
* @author Juergen Hoeller
* @since 5.0
*/
public class HandshakeWebSocketService implements WebSocketService, ServletContextAware, Lifecycle {
public class HandshakeWebSocketService implements WebSocketService, Lifecycle {

private static final String SEC_WEBSOCKET_KEY = "Sec-WebSocket-Key";

Expand Down Expand Up @@ -157,13 +155,6 @@ public Predicate<String> getSessionAttributePredicate() {
return this.sessionAttributePredicate;
}

@Override
public void setServletContext(ServletContext servletContext) {
if (getUpgradeStrategy() instanceof ServletContextAware servletContextAware) {
servletContextAware.setServletContext(servletContext);
}
}


@Override
public void start() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,11 @@

package org.springframework.web.reactive.socket.server.support;

import jakarta.servlet.ServletContext;
import reactor.core.publisher.Mono;

import org.springframework.context.annotation.ImportRuntimeHints;
import org.springframework.core.Ordered;
import org.springframework.util.Assert;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.reactive.HandlerAdapter;
import org.springframework.web.reactive.HandlerResult;
import org.springframework.web.reactive.socket.WebSocketHandler;
Expand All @@ -49,7 +47,7 @@
* @since 5.0
*/
@ImportRuntimeHints(HandshakeWebSocketServiceRuntimeHints.class)
public class WebSocketHandlerAdapter implements HandlerAdapter, ServletContextAware, Ordered {
public class WebSocketHandlerAdapter implements HandlerAdapter, Ordered {

private final WebSocketService webSocketService;

Expand Down Expand Up @@ -99,13 +97,6 @@ public WebSocketService getWebSocketService() {
return this.webSocketService;
}

@Override
public void setServletContext(ServletContext servletContext) {
if (this.webSocketService instanceof ServletContextAware servletContextAware) {
servletContextAware.setServletContext(servletContext);
}
}


@Override
public boolean supports(Object handler) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,13 @@

package org.springframework.web.reactive.socket.server.upgrade;

import java.util.function.Consumer;
import java.util.function.Supplier;

import jakarta.servlet.ServletContext;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.eclipse.jetty.ee10.websocket.server.JettyWebSocketCreator;
import org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServerContainer;
import org.eclipse.jetty.websocket.api.Configurable;
import reactor.core.publisher.Mono;

import org.springframework.core.io.buffer.DataBufferFactory;
Expand All @@ -33,7 +31,6 @@
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.http.server.reactive.ServerHttpResponseDecorator;
import org.springframework.lang.Nullable;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.reactive.socket.HandshakeInfo;
import org.springframework.web.reactive.socket.WebSocketHandler;
import org.springframework.web.reactive.socket.adapter.ContextWebSocketHandler;
Expand All @@ -48,30 +45,7 @@
* @author Rossen Stoyanchev
* @since 5.3.4
*/
public class JettyRequestUpgradeStrategy implements RequestUpgradeStrategy, ServletContextAware {

@Nullable
private Consumer<Configurable> webSocketConfigurer;


/**
* Add a callback to configure WebSocket server parameters on
* {@link JettyWebSocketServerContainer}.
* @since 6.1.0
*/
public void addWebSocketConfigurer(Consumer<Configurable> webSocketConfigurer) {
this.webSocketConfigurer = (this.webSocketConfigurer != null ?
this.webSocketConfigurer.andThen(webSocketConfigurer) : webSocketConfigurer);
}

@Override
public void setServletContext(ServletContext servletContext) {
JettyWebSocketServerContainer container = JettyWebSocketServerContainer.getContainer(servletContext);
if (container != null && this.webSocketConfigurer != null) {
this.webSocketConfigurer.accept(container);
}
}

public class JettyRequestUpgradeStrategy implements RequestUpgradeStrategy {

@Override
public Mono<Void> upgrade(
Expand Down

0 comments on commit 1f1f222

Please sign in to comment.