Browse Source

Add Host property in HttpServerSupport

And change the defaults to:

* "0.0.0.0" for the host
* any available port, starting at 8080
pull/1111/head
Brian Clozel 10 years ago
parent
commit
c6ed12297f
  1. 2
      spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/HttpServer.java
  2. 14
      spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/HttpServerSupport.java
  3. 6
      spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/JettyHttpServer.java
  4. 4
      spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/ReactorHttpServer.java
  5. 7
      spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/RxNettyHttpServer.java
  6. 6
      spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/TomcatHttpServer.java
  7. 3
      spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/UndertowHttpServer.java

2
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/HttpServer.java

@ -26,6 +26,8 @@ import org.springframework.http.server.reactive.HttpHandler; @@ -26,6 +26,8 @@ import org.springframework.http.server.reactive.HttpHandler;
*/
public interface HttpServer extends InitializingBean, Lifecycle {
void setHost(String host);
void setPort(int port);
void setHandler(HttpHandler handler);

14
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/HttpServerSupport.java

@ -17,23 +17,37 @@ @@ -17,23 +17,37 @@
package org.springframework.http.server.reactive.boot;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.http.server.reactive.HttpHandler;
import org.springframework.util.SocketUtils;
/**
* @author Rossen Stoyanchev
*/
public class HttpServerSupport {
private String host = "0.0.0.0";
private int port = -1;
private HttpHandler httpHandler;
public void setHost(String host) {
this.host = host;
}
public String getHost() {
return host;
}
public void setPort(int port) {
this.port = port;
}
public int getPort() {
if(this.port == -1) {
this.port = SocketUtils.findAvailableTcpPort(8080);
}
return this.port;
}

6
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/JettyHttpServer.java

@ -24,7 +24,6 @@ import org.eclipse.jetty.servlet.ServletHolder; @@ -24,7 +24,6 @@ import org.eclipse.jetty.servlet.ServletHolder;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.http.server.reactive.ServletHttpHandlerAdapter;
import org.springframework.util.Assert;
import org.springframework.util.SocketUtils;
/**
* @author Rossen Stoyanchev
@ -44,10 +43,6 @@ public class JettyHttpServer extends HttpServerSupport implements InitializingBe @@ -44,10 +43,6 @@ public class JettyHttpServer extends HttpServerSupport implements InitializingBe
@Override
public void afterPropertiesSet() throws Exception {
if (getPort() == -1) {
setPort(SocketUtils.findAvailableTcpPort(8080));
}
this.jettyServer = new Server();
Assert.notNull(getHttpHandler());
@ -59,6 +54,7 @@ public class JettyHttpServer extends HttpServerSupport implements InitializingBe @@ -59,6 +54,7 @@ public class JettyHttpServer extends HttpServerSupport implements InitializingBe
contextHandler.addServlet(servletHolder, "/");
ServerConnector connector = new ServerConnector(this.jettyServer);
connector.setHost(getHost());
connector.setPort(getPort());
this.jettyServer.addConnector(connector);
}

4
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/ReactorHttpServer.java

@ -39,9 +39,7 @@ public class ReactorHttpServer extends HttpServerSupport @@ -39,9 +39,7 @@ public class ReactorHttpServer extends HttpServerSupport
Assert.notNull(getHttpHandler());
this.reactorHandler = new ReactorHttpHandlerAdapter(getHttpHandler());
this.reactorServer = (getPort() != -1 ? reactor.io.netty.http.HttpServer.create(getPort()) :
reactor.io.netty.http.HttpServer.create());
this.reactorServer = reactor.io.netty.http.HttpServer.create(getHost(), getPort());
}
@Override

7
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/RxNettyHttpServer.java

@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
package org.springframework.http.server.reactive.boot;
import java.net.InetSocketAddress;
import io.netty.buffer.ByteBuf;
import org.springframework.http.server.reactive.RxNettyHttpHandlerAdapter;
@ -38,9 +40,8 @@ public class RxNettyHttpServer extends HttpServerSupport implements HttpServer { @@ -38,9 +40,8 @@ public class RxNettyHttpServer extends HttpServerSupport implements HttpServer {
Assert.notNull(getHttpHandler());
this.rxNettyHandler = new RxNettyHttpHandlerAdapter(getHttpHandler());
this.rxNettyServer = (getPort() != -1 ?
io.reactivex.netty.protocol.http.server.HttpServer.newServer(getPort()) :
io.reactivex.netty.protocol.http.server.HttpServer.newServer());
this.rxNettyServer = io.reactivex.netty.protocol.http.server.HttpServer
.newServer(new InetSocketAddress(getHost(), getPort()));
}

6
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/TomcatHttpServer.java

@ -20,6 +20,7 @@ import java.io.File; @@ -20,6 +20,7 @@ import java.io.File;
import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.startup.Tomcat;
import org.springframework.beans.factory.InitializingBean;
@ -46,11 +47,8 @@ public class TomcatHttpServer extends HttpServerSupport implements InitializingB @@ -46,11 +47,8 @@ public class TomcatHttpServer extends HttpServerSupport implements InitializingB
@Override
public void afterPropertiesSet() throws Exception {
if (getPort() == -1) {
setPort(SocketUtils.findAvailableTcpPort(8080));
}
this.tomcatServer = new Tomcat();
this.tomcatServer.setHostname(getHost());
this.tomcatServer.setPort(getPort());
Assert.notNull(getHttpHandler());

3
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/boot/UndertowHttpServer.java

@ -44,8 +44,7 @@ public class UndertowHttpServer extends HttpServerSupport implements HttpServer @@ -44,8 +44,7 @@ public class UndertowHttpServer extends HttpServerSupport implements HttpServer
Assert.notNull(getHttpHandler());
HttpHandler handler =
new UndertowHttpHandlerAdapter(getHttpHandler(), dataBufferFactory);
int port = (getPort() != -1 ? getPort() : 8080);
this.server = Undertow.builder().addHttpListener(port, "localhost")
this.server = Undertow.builder().addHttpListener(getPort(), getHost())
.setHandler(handler).build();
}

Loading…
Cancel
Save