mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Move ~.web.reactive.server to ~.http.server
This commit is contained in:
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive;
|
||||
package org.springframework.http.server;
|
||||
|
||||
import org.reactivestreams.Publisher;
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.springframework.http.server.ReactiveServerHttpResponse;
|
||||
* @see ReactiveServerHttpRequest#getBody()
|
||||
* @see ReactiveServerHttpResponse#setBody(Publisher)
|
||||
*/
|
||||
public interface HttpHandler {
|
||||
public interface ReactiveHttpHandler {
|
||||
|
||||
/**
|
||||
* Process the given request, generating a response in an asynchronous non blocking way.
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.web.reactive.server.reactor;
|
||||
package org.springframework.http.server.reactor;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.web.reactive.server.reactor;
|
||||
package org.springframework.http.server.reactor;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
+5
-5
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.web.reactive.server.reactor;
|
||||
package org.springframework.http.server.reactor;
|
||||
|
||||
import org.reactivestreams.Publisher;
|
||||
import reactor.core.publisher.convert.DependencyUtils;
|
||||
@@ -21,19 +21,19 @@ import reactor.io.buffer.Buffer;
|
||||
import reactor.io.net.ReactiveChannelHandler;
|
||||
import reactor.io.net.http.HttpChannel;
|
||||
|
||||
import org.springframework.web.reactive.HttpHandler;
|
||||
import org.springframework.http.server.ReactiveHttpHandler;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* @author Stephane Maldini
|
||||
*/
|
||||
public class RequestHandlerAdapter
|
||||
public class ReactorHttpHandlerAdapter
|
||||
implements ReactiveChannelHandler<Buffer, Buffer, HttpChannel<Buffer, Buffer>> {
|
||||
|
||||
private final HttpHandler httpHandler;
|
||||
private final ReactiveHttpHandler httpHandler;
|
||||
|
||||
|
||||
public RequestHandlerAdapter(HttpHandler httpHandler) {
|
||||
public ReactorHttpHandlerAdapter(ReactiveHttpHandler httpHandler) {
|
||||
Assert.notNull(httpHandler, "'httpHandler' is required.");
|
||||
this.httpHandler = httpHandler;
|
||||
}
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.reactor;
|
||||
package org.springframework.http.server.reactor;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.reactor;
|
||||
package org.springframework.http.server.reactor;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
+5
-5
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.rxnetty;
|
||||
package org.springframework.http.server.rxnetty;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.reactivex.netty.protocol.http.server.HttpServerRequest;
|
||||
@@ -24,18 +24,18 @@ import org.reactivestreams.Publisher;
|
||||
import reactor.core.publisher.convert.RxJava1Converter;
|
||||
import rx.Observable;
|
||||
|
||||
import org.springframework.web.reactive.HttpHandler;
|
||||
import org.springframework.http.server.ReactiveHttpHandler;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* @author Rossen Stoyanchev
|
||||
*/
|
||||
public class RequestHandlerAdapter implements RequestHandler<ByteBuf, ByteBuf> {
|
||||
public class RxNettyHttpHandlerAdapter implements RequestHandler<ByteBuf, ByteBuf> {
|
||||
|
||||
private final HttpHandler httpHandler;
|
||||
private final ReactiveHttpHandler httpHandler;
|
||||
|
||||
|
||||
public RequestHandlerAdapter(HttpHandler httpHandler) {
|
||||
public RxNettyHttpHandlerAdapter(ReactiveHttpHandler httpHandler) {
|
||||
Assert.notNull(httpHandler, "'httpHandler' is required.");
|
||||
this.httpHandler = httpHandler;
|
||||
}
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.rxnetty;
|
||||
package org.springframework.http.server.rxnetty;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.rxnetty;
|
||||
package org.springframework.http.server.rxnetty;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.servlet;
|
||||
package org.springframework.http.server.servlet31;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.servlet;
|
||||
package org.springframework.http.server.servlet31;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.servlet;
|
||||
package org.springframework.http.server.servlet31;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
+10
-10
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.servlet;
|
||||
package org.springframework.http.server.servlet31;
|
||||
|
||||
import java.io.IOException;
|
||||
import javax.servlet.AsyncContext;
|
||||
@@ -30,24 +30,24 @@ import org.reactivestreams.Subscriber;
|
||||
import org.reactivestreams.Subscription;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.reactive.HttpHandler;
|
||||
import org.springframework.http.server.ReactiveHttpHandler;
|
||||
|
||||
/**
|
||||
* @author Arjen Poutsma
|
||||
* @author Rossen Stoyanchev
|
||||
*/
|
||||
@WebServlet(asyncSupported = true)
|
||||
public class HttpHandlerServlet extends HttpServlet {
|
||||
public class Servlet31HttpHandlerAdapter extends HttpServlet {
|
||||
|
||||
private static final int BUFFER_SIZE = 8192;
|
||||
|
||||
private static Log logger = LogFactory.getLog(HttpHandlerServlet.class);
|
||||
private static Log logger = LogFactory.getLog(Servlet31HttpHandlerAdapter.class);
|
||||
|
||||
|
||||
private HttpHandler handler;
|
||||
private ReactiveHttpHandler handler;
|
||||
|
||||
|
||||
public void setHandler(HttpHandler handler) {
|
||||
public void setHandler(ReactiveHttpHandler handler) {
|
||||
this.handler = handler;
|
||||
}
|
||||
|
||||
@@ -61,11 +61,11 @@ public class HttpHandlerServlet extends HttpServlet {
|
||||
|
||||
RequestBodyPublisher requestPublisher = new RequestBodyPublisher(synchronizer, BUFFER_SIZE);
|
||||
request.getInputStream().setReadListener(requestPublisher);
|
||||
ServletServerHttpRequest httpRequest = new ServletServerHttpRequest(request, requestPublisher);
|
||||
Servlet31ServerHttpRequest httpRequest = new Servlet31ServerHttpRequest(request, requestPublisher);
|
||||
|
||||
ResponseBodySubscriber responseSubscriber = new ResponseBodySubscriber(synchronizer);
|
||||
response.getOutputStream().setWriteListener(responseSubscriber);
|
||||
ServletServerHttpResponse httpResponse = new ServletServerHttpResponse(response, responseSubscriber);
|
||||
Servlet31ServerHttpResponse httpResponse = new Servlet31ServerHttpResponse(response, responseSubscriber);
|
||||
|
||||
HandlerResultSubscriber resultSubscriber = new HandlerResultSubscriber(synchronizer, httpResponse);
|
||||
this.handler.handle(httpRequest, httpResponse).subscribe(resultSubscriber);
|
||||
@@ -76,11 +76,11 @@ public class HttpHandlerServlet extends HttpServlet {
|
||||
|
||||
private final AsyncContextSynchronizer synchronizer;
|
||||
|
||||
private final ServletServerHttpResponse response;
|
||||
private final Servlet31ServerHttpResponse response;
|
||||
|
||||
|
||||
public HandlerResultSubscriber(AsyncContextSynchronizer synchronizer,
|
||||
ServletServerHttpResponse response) {
|
||||
Servlet31ServerHttpResponse response) {
|
||||
|
||||
this.synchronizer = synchronizer;
|
||||
this.response = response;
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.servlet;
|
||||
package org.springframework.http.server.servlet31;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
@@ -37,7 +37,7 @@ import org.springframework.util.StringUtils;
|
||||
/**
|
||||
* @author Rossen Stoyanchev
|
||||
*/
|
||||
public class ServletServerHttpRequest implements ReactiveServerHttpRequest {
|
||||
public class Servlet31ServerHttpRequest implements ReactiveServerHttpRequest {
|
||||
|
||||
private final HttpServletRequest servletRequest;
|
||||
|
||||
@@ -46,7 +46,7 @@ public class ServletServerHttpRequest implements ReactiveServerHttpRequest {
|
||||
private HttpHeaders headers;
|
||||
|
||||
|
||||
public ServletServerHttpRequest(HttpServletRequest servletRequest,
|
||||
public Servlet31ServerHttpRequest(HttpServletRequest servletRequest,
|
||||
Publisher<ByteBuffer> requestBodyPublisher) {
|
||||
|
||||
Assert.notNull(servletRequest, "HttpServletRequest must not be null");
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.servlet;
|
||||
package org.springframework.http.server.servlet31;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
@@ -34,7 +34,7 @@ import org.springframework.util.Assert;
|
||||
/**
|
||||
* @author Rossen Stoyanchev
|
||||
*/
|
||||
public class ServletServerHttpResponse implements ReactiveServerHttpResponse {
|
||||
public class Servlet31ServerHttpResponse implements ReactiveServerHttpResponse {
|
||||
|
||||
private final HttpServletResponse response;
|
||||
|
||||
@@ -45,7 +45,7 @@ public class ServletServerHttpResponse implements ReactiveServerHttpResponse {
|
||||
private boolean headersWritten = false;
|
||||
|
||||
|
||||
public ServletServerHttpResponse(HttpServletResponse response,
|
||||
public Servlet31ServerHttpResponse(HttpServletResponse response,
|
||||
ResponseBodySubscriber subscriber) {
|
||||
|
||||
Assert.notNull(response, "'response' must not be null");
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.undertow;
|
||||
package org.springframework.http.server.undertow;
|
||||
|
||||
import static org.xnio.IoUtils.safeClose;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.undertow;
|
||||
package org.springframework.http.server.undertow;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
+4
-4
@@ -14,11 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.undertow;
|
||||
package org.springframework.http.server.undertow;
|
||||
|
||||
import org.springframework.http.server.ReactiveServerHttpRequest;
|
||||
import org.springframework.http.server.ReactiveServerHttpResponse;
|
||||
import org.springframework.web.reactive.HttpHandler;
|
||||
import org.springframework.http.server.ReactiveHttpHandler;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import io.undertow.server.HttpServerExchange;
|
||||
@@ -37,10 +37,10 @@ public class UndertowHttpHandlerAdapter implements io.undertow.server.HttpHandle
|
||||
private static Log logger = LogFactory.getLog(UndertowHttpHandlerAdapter.class);
|
||||
|
||||
|
||||
private final HttpHandler delegate;
|
||||
private final ReactiveHttpHandler delegate;
|
||||
|
||||
|
||||
public UndertowHttpHandlerAdapter(HttpHandler delegate) {
|
||||
public UndertowHttpHandlerAdapter(ReactiveHttpHandler delegate) {
|
||||
Assert.notNull(delegate, "'delegate' is required.");
|
||||
this.delegate = delegate;
|
||||
}
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.undertow;
|
||||
package org.springframework.http.server.undertow;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.reactive.server.undertow;
|
||||
package org.springframework.http.server.undertow;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.List;
|
||||
+2
-1
@@ -31,6 +31,7 @@ import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.core.annotation.AnnotationAwareOrderComparator;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.server.ReactiveHttpHandler;
|
||||
import org.springframework.http.server.ReactiveServerHttpRequest;
|
||||
import org.springframework.http.server.ReactiveServerHttpResponse;
|
||||
|
||||
@@ -52,7 +53,7 @@ import org.springframework.http.server.ReactiveServerHttpResponse;
|
||||
* @author Rossen Stoyanchev
|
||||
* @author Sebastien Deleuze
|
||||
*/
|
||||
public class DispatcherHandler implements HttpHandler, ApplicationContextAware {
|
||||
public class DispatcherHandler implements ReactiveHttpHandler, ApplicationContextAware {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(DispatcherHandler.class);
|
||||
|
||||
|
||||
+4
-4
@@ -24,11 +24,11 @@ import org.springframework.http.server.ReactiveServerHttpRequest;
|
||||
import org.springframework.http.server.ReactiveServerHttpResponse;
|
||||
import org.springframework.web.reactive.HandlerAdapter;
|
||||
import org.springframework.web.reactive.HandlerResult;
|
||||
import org.springframework.web.reactive.HttpHandler;
|
||||
import org.springframework.http.server.ReactiveHttpHandler;
|
||||
import org.springframework.web.reactive.DispatcherHandler;
|
||||
|
||||
/**
|
||||
* Support use of {@link HttpHandler} with
|
||||
* Support use of {@link ReactiveHttpHandler} with
|
||||
* {@link DispatcherHandler
|
||||
* DispatcherHandler} (which implements the same contract).
|
||||
* The use of {@code DispatcherHandler} this way enables routing requests to
|
||||
@@ -46,14 +46,14 @@ public class HttpHandlerAdapter implements HandlerAdapter {
|
||||
|
||||
@Override
|
||||
public boolean supports(Object handler) {
|
||||
return HttpHandler.class.isAssignableFrom(handler.getClass());
|
||||
return ReactiveHttpHandler.class.isAssignableFrom(handler.getClass());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Publisher<HandlerResult> handle(ReactiveServerHttpRequest request,
|
||||
ReactiveServerHttpResponse response, Object handler) {
|
||||
|
||||
HttpHandler httpHandler = (HttpHandler)handler;
|
||||
ReactiveHttpHandler httpHandler = (ReactiveHttpHandler)handler;
|
||||
Publisher<Void> completion = httpHandler.handle(request, response);
|
||||
return Publishers.just(new HandlerResult(httpHandler, completion, PUBLISHER_VOID));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user