Make ReactiveWebServerFactory functional interface
Update `ReactiveWebServerFactory` to contain only a single method. Fixes gh-8559
This commit is contained in:
parent
ca5e566deb
commit
4100360ceb
|
|
@ -41,12 +41,6 @@ public class MockReactiveWebServerFactory extends AbstractReactiveWebServerFacto
|
||||||
return this.webServer;
|
return this.webServer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public WebServer getWebServer(Map<String, HttpHandler> handlerMap) {
|
|
||||||
this.webServer = spy(new MockReactiveWebServer(handlerMap, getPort()));
|
|
||||||
return this.webServer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MockReactiveWebServer getWebServer() {
|
public MockReactiveWebServer getWebServer() {
|
||||||
return this.webServer;
|
return this.webServer;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@
|
||||||
package org.springframework.boot.web.embedded.jetty;
|
package org.springframework.boot.web.embedded.jetty;
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.eclipse.jetty.server.AbstractConnector;
|
import org.eclipse.jetty.server.AbstractConnector;
|
||||||
import org.eclipse.jetty.server.ConnectionFactory;
|
import org.eclipse.jetty.server.ConnectionFactory;
|
||||||
|
|
@ -62,8 +61,8 @@ public class JettyReactiveWebServerFactory extends AbstractReactiveWebServerFact
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new {@link JettyServletWebServerFactory} that listens for requests
|
* Create a new {@link JettyServletWebServerFactory} that listens for requests using
|
||||||
* using the specified port.
|
* the specified port.
|
||||||
* @param port the port to listen on
|
* @param port the port to listen on
|
||||||
*/
|
*/
|
||||||
public JettyReactiveWebServerFactory(int port) {
|
public JettyReactiveWebServerFactory(int port) {
|
||||||
|
|
@ -77,13 +76,6 @@ public class JettyReactiveWebServerFactory extends AbstractReactiveWebServerFact
|
||||||
return new JettyWebServer(server, getPort() >= 0);
|
return new JettyWebServer(server, getPort() >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public WebServer getWebServer(Map<String, HttpHandler> handlerMap) {
|
|
||||||
JettyHttpHandlerAdapter servlet = new JettyHttpHandlerAdapter(handlerMap);
|
|
||||||
Server server = createJettyServer(servlet);
|
|
||||||
return new JettyWebServer(server, getPort() >= 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Server createJettyServer(JettyHttpHandlerAdapter servlet) {
|
protected Server createJettyServer(JettyHttpHandlerAdapter servlet) {
|
||||||
int port = (getPort() >= 0 ? getPort() : 0);
|
int port = (getPort() >= 0 ? getPort() : 0);
|
||||||
InetSocketAddress address = new InetSocketAddress(getAddress(), port);
|
InetSocketAddress address = new InetSocketAddress(getAddress(), port);
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@
|
||||||
|
|
||||||
package org.springframework.boot.web.embedded.netty;
|
package org.springframework.boot.web.embedded.netty;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import reactor.ipc.netty.http.server.HttpServer;
|
import reactor.ipc.netty.http.server.HttpServer;
|
||||||
|
|
||||||
import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactory;
|
import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactory;
|
||||||
|
|
@ -49,14 +47,6 @@ public class NettyReactiveWebServerFactory extends AbstractReactiveWebServerFact
|
||||||
return new NettyWebServer(server, handlerAdapter);
|
return new NettyWebServer(server, handlerAdapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public WebServer getWebServer(Map<String, HttpHandler> handlerMap) {
|
|
||||||
HttpServer server = createHttpServer();
|
|
||||||
ReactorHttpHandlerAdapter handlerAdapter = new ReactorHttpHandlerAdapter(
|
|
||||||
handlerMap);
|
|
||||||
return new NettyWebServer(server, handlerAdapter);
|
|
||||||
}
|
|
||||||
|
|
||||||
private HttpServer createHttpServer() {
|
private HttpServer createHttpServer() {
|
||||||
HttpServer server;
|
HttpServer server;
|
||||||
if (getAddress() != null) {
|
if (getAddress() != null) {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@
|
||||||
package org.springframework.boot.web.embedded.tomcat;
|
package org.springframework.boot.web.embedded.tomcat;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.apache.catalina.Host;
|
import org.apache.catalina.Host;
|
||||||
import org.apache.catalina.connector.Connector;
|
import org.apache.catalina.connector.Connector;
|
||||||
|
|
@ -73,14 +72,6 @@ public class TomcatReactiveWebServerFactory extends AbstractReactiveWebServerFac
|
||||||
return new TomcatWebServer(tomcatServer, getPort() >= 0);
|
return new TomcatWebServer(tomcatServer, getPort() >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public WebServer getWebServer(Map<String, HttpHandler> handlerMap) {
|
|
||||||
Tomcat tomcatServer = createTomcatServer();
|
|
||||||
TomcatHttpHandlerAdapter servlet = new TomcatHttpHandlerAdapter(handlerMap);
|
|
||||||
prepareContext(tomcatServer.getHost(), servlet);
|
|
||||||
return new TomcatWebServer(tomcatServer, getPort() >= 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Tomcat createTomcatServer() {
|
private Tomcat createTomcatServer() {
|
||||||
Tomcat tomcat = new Tomcat();
|
Tomcat tomcat = new Tomcat();
|
||||||
File baseDir = createTempDir("tomcat");
|
File baseDir = createTempDir("tomcat");
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@
|
||||||
|
|
||||||
package org.springframework.boot.web.embedded.undertow;
|
package org.springframework.boot.web.embedded.undertow;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import io.undertow.Undertow;
|
import io.undertow.Undertow;
|
||||||
|
|
||||||
import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactory;
|
import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactory;
|
||||||
|
|
@ -65,14 +63,6 @@ public class UndertowReactiveWebServerFactory extends AbstractReactiveWebServerF
|
||||||
return new UndertowWebServer(builder, getPort() >= 0);
|
return new UndertowWebServer(builder, getPort() >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public WebServer getWebServer(Map<String, HttpHandler> handlerMap) {
|
|
||||||
Undertow.Builder builder = createBuilder(getPort());
|
|
||||||
UndertowHttpHandlerAdapter handler = new UndertowHttpHandlerAdapter(handlerMap);
|
|
||||||
builder.setHandler(handler);
|
|
||||||
return new UndertowWebServer(builder, getPort() >= 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Undertow.Builder createBuilder(int port) {
|
private Undertow.Builder createBuilder(int port) {
|
||||||
Undertow.Builder builder = Undertow.builder();
|
Undertow.Builder builder = Undertow.builder();
|
||||||
if (this.bufferSize != null) {
|
if (this.bufferSize != null) {
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@
|
||||||
|
|
||||||
package org.springframework.boot.web.reactive.server;
|
package org.springframework.boot.web.reactive.server;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.springframework.boot.web.server.WebServer;
|
import org.springframework.boot.web.server.WebServer;
|
||||||
import org.springframework.http.server.reactive.HttpHandler;
|
import org.springframework.http.server.reactive.HttpHandler;
|
||||||
|
|
||||||
|
|
@ -28,6 +26,7 @@ import org.springframework.http.server.reactive.HttpHandler;
|
||||||
* @since 2.0.0
|
* @since 2.0.0
|
||||||
* @see WebServer
|
* @see WebServer
|
||||||
*/
|
*/
|
||||||
|
@FunctionalInterface
|
||||||
public interface ReactiveWebServerFactory {
|
public interface ReactiveWebServerFactory {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -41,12 +40,4 @@ public interface ReactiveWebServerFactory {
|
||||||
*/
|
*/
|
||||||
WebServer getWebServer(HttpHandler httpHandler);
|
WebServer getWebServer(HttpHandler httpHandler);
|
||||||
|
|
||||||
/**
|
|
||||||
* Register a map of {@link HttpHandler}s, each to a specific context path.
|
|
||||||
* @param handlerMap a map of context paths and the associated {@code HttpHandler}
|
|
||||||
* @return a fully configured and started {@link WebServer}
|
|
||||||
* @see WebServer#stop()
|
|
||||||
*/
|
|
||||||
WebServer getWebServer(Map<String, HttpHandler> handlerMap);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue