Move http.server to http.server.reactive
This commit is contained in:
@@ -21,12 +21,13 @@ import org.junit.Before;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
|
||||
import org.springframework.http.server.support.HttpServer;
|
||||
import org.springframework.http.server.support.JettyHttpServer;
|
||||
import org.springframework.http.server.support.ReactorHttpServer;
|
||||
import org.springframework.http.server.support.RxNettyHttpServer;
|
||||
import org.springframework.http.server.support.TomcatHttpServer;
|
||||
import org.springframework.http.server.support.UndertowHttpServer;
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.http.server.reactive.boot.HttpServer;
|
||||
import org.springframework.http.server.reactive.boot.JettyHttpServer;
|
||||
import org.springframework.http.server.reactive.boot.ReactorHttpServer;
|
||||
import org.springframework.http.server.reactive.boot.RxNettyHttpServer;
|
||||
import org.springframework.http.server.reactive.boot.TomcatHttpServer;
|
||||
import org.springframework.http.server.reactive.boot.UndertowHttpServer;
|
||||
import org.springframework.util.SocketUtils;
|
||||
|
||||
|
||||
@@ -60,7 +61,7 @@ public abstract class AbstractHttpHandlerIntegrationTests {
|
||||
this.server.start();
|
||||
}
|
||||
|
||||
protected abstract ReactiveHttpHandler createHttpHandler();
|
||||
protected abstract HttpHandler createHttpHandler();
|
||||
|
||||
@After
|
||||
public void tearDown() throws Exception {
|
||||
|
||||
@@ -18,13 +18,17 @@ package org.springframework.http.server;
|
||||
|
||||
import org.reactivestreams.Publisher;
|
||||
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest;
|
||||
import org.springframework.http.server.reactive.ServerHttpResponse;
|
||||
|
||||
/**
|
||||
* @author Arjen Poutsma
|
||||
*/
|
||||
public class EchoHandler implements ReactiveHttpHandler {
|
||||
public class EchoHandler implements HttpHandler {
|
||||
|
||||
@Override
|
||||
public Publisher<Void> handle(ReactiveServerHttpRequest request, ReactiveServerHttpResponse response) {
|
||||
public Publisher<Void> handle(ServerHttpRequest request, ServerHttpResponse response) {
|
||||
return response.setBody(request.getBody());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,13 @@ import org.reactivestreams.Publisher;
|
||||
import reactor.Publishers;
|
||||
import reactor.rx.Streams;
|
||||
|
||||
import org.springframework.http.server.reactive.FilterChainHttpHandler;
|
||||
import org.springframework.http.server.reactive.HttpFilter;
|
||||
import org.springframework.http.server.reactive.HttpFilterChain;
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest;
|
||||
import org.springframework.http.server.reactive.ServerHttpResponse;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -33,15 +40,15 @@ import static org.mockito.Mockito.mock;
|
||||
*/
|
||||
public class FilterChainHttpHandlerTests {
|
||||
|
||||
private ReactiveServerHttpRequest request;
|
||||
private ServerHttpRequest request;
|
||||
|
||||
private ReactiveServerHttpResponse response;
|
||||
private ServerHttpResponse response;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
this.request = mock(ReactiveServerHttpRequest.class);
|
||||
this.response = mock(ReactiveServerHttpResponse.class);
|
||||
this.request = mock(ServerHttpRequest.class);
|
||||
this.response = mock(ServerHttpResponse.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -90,7 +97,7 @@ public class FilterChainHttpHandlerTests {
|
||||
}
|
||||
|
||||
|
||||
private static class TestFilter implements ReactiveHttpFilter {
|
||||
private static class TestFilter implements HttpFilter {
|
||||
|
||||
private boolean invoked;
|
||||
|
||||
@@ -100,15 +107,15 @@ public class FilterChainHttpHandlerTests {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Publisher<Void> filter(ReactiveServerHttpRequest req, ReactiveServerHttpResponse res,
|
||||
ReactiveHttpFilterChain chain) {
|
||||
public Publisher<Void> filter(ServerHttpRequest req, ServerHttpResponse res,
|
||||
HttpFilterChain chain) {
|
||||
|
||||
this.invoked = true;
|
||||
return doFilter(req, res, chain);
|
||||
}
|
||||
|
||||
public Publisher<Void> doFilter(ReactiveServerHttpRequest req, ReactiveServerHttpResponse res,
|
||||
ReactiveHttpFilterChain chain) {
|
||||
public Publisher<Void> doFilter(ServerHttpRequest req, ServerHttpResponse res,
|
||||
HttpFilterChain chain) {
|
||||
|
||||
return chain.filter(req, res);
|
||||
}
|
||||
@@ -117,14 +124,14 @@ public class FilterChainHttpHandlerTests {
|
||||
private static class ShortcircuitingFilter extends TestFilter {
|
||||
|
||||
@Override
|
||||
public Publisher<Void> doFilter(ReactiveServerHttpRequest req, ReactiveServerHttpResponse res,
|
||||
ReactiveHttpFilterChain chain) {
|
||||
public Publisher<Void> doFilter(ServerHttpRequest req, ServerHttpResponse res,
|
||||
HttpFilterChain chain) {
|
||||
|
||||
return Publishers.empty();
|
||||
}
|
||||
}
|
||||
|
||||
private static class StubHandler implements ReactiveHttpHandler {
|
||||
private static class StubHandler implements HttpHandler {
|
||||
|
||||
private boolean invoked;
|
||||
|
||||
@@ -133,7 +140,7 @@ public class FilterChainHttpHandlerTests {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Publisher<Void> handle(ReactiveServerHttpRequest req, ReactiveServerHttpResponse res) {
|
||||
public Publisher<Void> handle(ServerHttpRequest req, ServerHttpResponse res) {
|
||||
this.invoked = true;
|
||||
return Publishers.empty();
|
||||
}
|
||||
|
||||
@@ -27,12 +27,16 @@ import org.reactivestreams.Subscription;
|
||||
import reactor.io.buffer.Buffer;
|
||||
import reactor.rx.Streams;
|
||||
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest;
|
||||
import org.springframework.http.server.reactive.ServerHttpResponse;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* @author Arjen Poutsma
|
||||
*/
|
||||
public class RandomHandler implements ReactiveHttpHandler {
|
||||
public class RandomHandler implements HttpHandler {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(RandomHandler.class);
|
||||
|
||||
@@ -41,7 +45,7 @@ public class RandomHandler implements ReactiveHttpHandler {
|
||||
private final Random rnd = new Random();
|
||||
|
||||
@Override
|
||||
public Publisher<Void> handle(ReactiveServerHttpRequest request, ReactiveServerHttpResponse response) {
|
||||
public Publisher<Void> handle(ServerHttpRequest request, ServerHttpResponse response) {
|
||||
|
||||
request.getBody().subscribe(new Subscriber<ByteBuffer>() {
|
||||
private Subscription s;
|
||||
|
||||
@@ -27,6 +27,9 @@ import reactor.io.buffer.Buffer;
|
||||
import reactor.rx.Streams;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest;
|
||||
import org.springframework.http.server.reactive.ServerHttpResponse;
|
||||
import org.springframework.util.BufferOutputStream;
|
||||
import org.springframework.util.ByteBufferPublisherInputStream;
|
||||
|
||||
@@ -35,13 +38,13 @@ import static org.junit.Assert.fail;
|
||||
/**
|
||||
* @author Arjen Poutsma
|
||||
*/
|
||||
public class XmlHandler implements ReactiveHttpHandler {
|
||||
public class XmlHandler implements HttpHandler {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(XmlHandler.class);
|
||||
|
||||
@Override
|
||||
public Publisher<Void> handle(ReactiveServerHttpRequest request,
|
||||
ReactiveServerHttpResponse response) {
|
||||
public Publisher<Void> handle(ServerHttpRequest request,
|
||||
ServerHttpResponse response) {
|
||||
try {
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(XmlHandlerIntegrationTests.Person.class);
|
||||
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.junit.Test;
|
||||
|
||||
import org.springframework.http.RequestEntity;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
/**
|
||||
@@ -31,7 +32,7 @@ import org.springframework.web.client.RestTemplate;
|
||||
public class XmlHandlerIntegrationTests extends AbstractHttpHandlerIntegrationTests {
|
||||
|
||||
@Override
|
||||
protected ReactiveHttpHandler createHttpHandler() {
|
||||
protected HttpHandler createHttpHandler() {
|
||||
return new XmlHandler();
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.http.server.servlet31;
|
||||
package org.springframework.http.server.reactive;
|
||||
|
||||
import javax.servlet.AsyncContext;
|
||||
|
||||
@@ -31,12 +31,12 @@ public class AsyncContextSynchronizerTests {
|
||||
|
||||
private AsyncContext asyncContext;
|
||||
|
||||
private AsyncContextSynchronizer synchronizer;
|
||||
private ServletAsyncContextSynchronizer synchronizer;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
asyncContext = mock(AsyncContext.class);
|
||||
synchronizer = new AsyncContextSynchronizer(asyncContext);
|
||||
synchronizer = new ServletAsyncContextSynchronizer(asyncContext);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -30,16 +30,14 @@ import reactor.rx.Streams;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.RequestEntity;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.http.server.ReactiveServerHttpRequest;
|
||||
import org.springframework.http.server.ReactiveServerHttpResponse;
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest;
|
||||
import org.springframework.http.server.reactive.ServerHttpResponse;
|
||||
import org.springframework.web.client.HttpClientErrorException;
|
||||
import org.springframework.web.client.RestClientException;
|
||||
import org.springframework.web.reactive.DispatcherHandler;
|
||||
import org.springframework.http.server.AbstractHttpHandlerIntegrationTests;
|
||||
import org.springframework.http.server.ReactiveHttpHandler;
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.context.support.StaticWebApplicationContext;
|
||||
import org.springframework.web.reactive.method.annotation.RequestMappingHandlerMapping;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
@@ -54,7 +52,7 @@ public class SimpleUrlHandlerMappingIntegrationTests extends AbstractHttpHandler
|
||||
|
||||
|
||||
@Override
|
||||
protected ReactiveHttpHandler createHttpHandler() {
|
||||
protected HttpHandler createHttpHandler() {
|
||||
|
||||
StaticWebApplicationContext wac = new StaticWebApplicationContext();
|
||||
wac.registerSingleton("hm", TestHandlerMapping.class);
|
||||
@@ -122,18 +120,18 @@ public class SimpleUrlHandlerMappingIntegrationTests extends AbstractHttpHandler
|
||||
}
|
||||
}
|
||||
|
||||
private static class FooHandler implements ReactiveHttpHandler {
|
||||
private static class FooHandler implements HttpHandler {
|
||||
|
||||
@Override
|
||||
public Publisher<Void> handle(ReactiveServerHttpRequest request, ReactiveServerHttpResponse response) {
|
||||
public Publisher<Void> handle(ServerHttpRequest request, ServerHttpResponse response) {
|
||||
return response.setBody(Streams.just(Buffer.wrap("foo").byteBuffer()));
|
||||
}
|
||||
}
|
||||
|
||||
private static class BarHandler implements ReactiveHttpHandler {
|
||||
private static class BarHandler implements HttpHandler {
|
||||
|
||||
@Override
|
||||
public Publisher<Void> handle(ReactiveServerHttpRequest request, ReactiveServerHttpResponse response) {
|
||||
public Publisher<Void> handle(ServerHttpRequest request, ServerHttpResponse response) {
|
||||
return response.setBody(Streams.just(Buffer.wrap("bar").byteBuffer()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ import reactor.rx.Streams;
|
||||
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.server.ReactiveServerHttpRequest;
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
@@ -59,7 +59,7 @@ public class RequestMappingHandlerMappingTests {
|
||||
|
||||
@Test
|
||||
public void path() throws Exception {
|
||||
ReactiveServerHttpRequest request = new MockServerHttpRequest(HttpMethod.GET, "boo");
|
||||
ServerHttpRequest request = new MockServerHttpRequest(HttpMethod.GET, "boo");
|
||||
Publisher<?> handlerPublisher = this.mapping.getHandler(request);
|
||||
HandlerMethod handlerMethod = toHandlerMethod(handlerPublisher);
|
||||
assertEquals(TestController.class.getMethod("boo"), handlerMethod.getMethod());
|
||||
@@ -67,7 +67,7 @@ public class RequestMappingHandlerMappingTests {
|
||||
|
||||
@Test
|
||||
public void method() throws Exception {
|
||||
ReactiveServerHttpRequest request = new MockServerHttpRequest(HttpMethod.POST, "foo");
|
||||
ServerHttpRequest request = new MockServerHttpRequest(HttpMethod.POST, "foo");
|
||||
Publisher<?> handlerPublisher = this.mapping.getHandler(request);
|
||||
HandlerMethod handlerMethod = toHandlerMethod(handlerPublisher);
|
||||
assertEquals(TestController.class.getMethod("postFoo"), handlerMethod.getMethod());
|
||||
@@ -116,7 +116,7 @@ public class RequestMappingHandlerMappingTests {
|
||||
/**
|
||||
* TODO: this is more widely needed.
|
||||
*/
|
||||
private static class MockServerHttpRequest implements ReactiveServerHttpRequest {
|
||||
private static class MockServerHttpRequest implements ServerHttpRequest {
|
||||
|
||||
private HttpMethod method;
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ import org.springframework.core.codec.support.StringEncoder;
|
||||
import org.springframework.web.reactive.DispatcherHandler;
|
||||
import org.springframework.web.reactive.handler.SimpleHandlerResultHandler;
|
||||
import org.springframework.http.server.AbstractHttpHandlerIntegrationTests;
|
||||
import org.springframework.http.server.ReactiveHttpHandler;
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -75,7 +75,7 @@ public class RequestMappingIntegrationTests extends AbstractHttpHandlerIntegrati
|
||||
|
||||
|
||||
@Override
|
||||
protected ReactiveHttpHandler createHttpHandler() {
|
||||
protected HttpHandler createHttpHandler() {
|
||||
this.wac = new AnnotationConfigWebApplicationContext();
|
||||
this.wac.register(FrameworkConfig.class, ApplicationConfig.class);
|
||||
this.wac.refresh();
|
||||
|
||||
Reference in New Issue
Block a user