From 5d1b5426982332cbbd5671b00fbc4ded5d69a656 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Wed, 13 Jul 2016 23:13:29 -0400 Subject: [PATCH] Move spring-web-reactive classes to spring-web --- build.gradle | 41 +++++++---- .../springframework/http/package-info.java | 5 -- .../http/support/MediaTypeUtils.java | 47 ------------ .../org/springframework/web/package-info.java | 5 -- .../PathExtensionContentTypeResolver.java | 11 +-- .../annotation/SseIntegrationTests.java | 2 +- .../org/springframework/http/HttpCookie.java | 0 .../org/springframework/http/MediaType.java | 17 +++++ .../http/ReactiveHttpInputMessage.java | 0 .../http/ReactiveHttpOutputMessage.java | 0 .../springframework/http/ResponseCookie.java | 0 .../http/ZeroCopyHttpOutputMessage.java | 0 .../reactive/AbstractClientHttpRequest.java | 0 .../client/reactive/ClientHttpConnector.java | 0 .../client/reactive/ClientHttpRequest.java | 0 .../client/reactive/ClientHttpResponse.java | 0 .../reactive/ReactorClientHttpConnector.java | 0 .../reactive/ReactorClientHttpRequest.java | 0 .../reactive/ReactorClientHttpResponse.java | 0 .../http/client/reactive/package-info.java | 0 .../springframework/http/codec}/SseEvent.java | 2 +- .../http/codec/SseEventEncoder.java | 1 - .../http/codec/json/JacksonJsonDecoder.java | 0 .../http/codec/json/JacksonJsonEncoder.java | 0 .../http/codec/json/JsonObjectDecoder.java | 0 .../http/codec/xml/Jaxb2Decoder.java | 6 +- .../http/codec/xml/Jaxb2Encoder.java | 0 .../http/codec/xml/JaxbContextContainer.java | 0 .../http/codec/xml/XmlEventDecoder.java | 0 .../reactive/CodecHttpMessageConverter.java | 5 +- .../reactive/HttpMessageConverter.java | 0 .../ResourceHttpMessageConverter.java | 7 +- .../AbstractRequestBodyPublisher.java | 0 .../AbstractResponseBodyProcessor.java | 0 .../reactive/AbstractServerHttpRequest.java | 0 .../reactive/AbstractServerHttpResponse.java | 0 .../server/reactive/ChannelSendOperator.java | 0 .../http/server/reactive/HttpHandler.java | 0 .../reactive/ReactorHttpHandlerAdapter.java | 0 .../reactive/ReactorServerHttpRequest.java | 0 .../reactive/ReactorServerHttpResponse.java | 0 .../ResponseBodyWriteResultPublisher.java | 0 .../reactive/RxNettyHttpHandlerAdapter.java | 0 .../reactive/RxNettyServerHttpRequest.java | 0 .../reactive/RxNettyServerHttpResponse.java | 0 .../server/reactive/ServerHttpRequest.java | 0 .../server/reactive/ServerHttpResponse.java | 0 .../reactive/ServletHttpHandlerAdapter.java | 0 .../reactive/ServletServerHttpRequest.java | 0 .../reactive/ServletServerHttpResponse.java | 0 .../reactive/UndertowHttpHandlerAdapter.java | 0 .../reactive/UndertowServerHttpRequest.java | 0 .../reactive/UndertowServerHttpResponse.java | 0 .../http/server/reactive/package-info.java | 0 .../web/client/reactive/ClientWebRequest.java | 0 .../reactive/ClientWebRequestBuilder.java | 0 .../reactive/ClientWebRequestBuilders.java | 0 .../ClientWebRequestPostProcessor.java | 0 .../DefaultClientWebRequestBuilder.java | 0 .../client/reactive/ResponseExtractor.java | 0 .../client/reactive/ResponseExtractors.java | 0 .../web/client/reactive/WebClient.java | 0 .../client/reactive/WebClientException.java | 0 .../client/reactive/WebResponseActions.java | 0 .../RxJava1ClientWebRequestBuilder.java | 0 .../RxJava1ClientWebRequestBuilders.java | 0 .../support/RxJava1ResponseExtractors.java | 0 .../MediaTypeNotSupportedStatusException.java | 0 .../web/server/MethodNotAllowedException.java | 0 .../server/NotAcceptableStatusException.java | 0 .../web/server/ResponseStatusException.java | 0 .../web/server/ServerErrorException.java | 0 .../web/server/ServerWebExchange.java | 0 .../web/server/ServerWebInputException.java | 0 .../UnsupportedMediaTypeStatusException.java | 0 .../web/server/WebExceptionHandler.java | 0 .../springframework/web/server/WebFilter.java | 0 .../web/server/WebFilterChain.java | 0 .../web/server/WebHandler.java | 0 .../web/server/WebSession.java | 0 .../adapter/DefaultServerWebExchange.java | 0 .../server/adapter/HttpWebHandlerAdapter.java | 0 .../server/adapter/WebHttpHandlerBuilder.java | 0 .../web/server/adapter/package-info.java | 0 .../handler/ExceptionHandlingWebHandler.java | 0 .../server/handler/FilteringWebHandler.java | 0 .../server/handler/WebHandlerDecorator.java | 0 .../web/server/handler/package-info.java | 0 .../web/server/package-info.java | 0 .../session/ConfigurableWebSession.java | 0 .../session/CookieWebSessionIdResolver.java | 0 .../web/server/session/DefaultWebSession.java | 0 .../session/DefaultWebSessionManager.java | 0 .../session/InMemoryWebSessionStore.java | 0 .../server/session/WebSessionIdResolver.java | 0 .../web/server/session/WebSessionManager.java | 0 .../web/server/session/WebSessionStore.java | 0 .../web/server/session/package-info.java | 0 .../util/ContentCachingRequestWrapper.java | 17 +++++ .../util/ContentCachingResponseWrapper.java | 24 +++++- .../web/util/HttpRequestPathHelper.java | 0 .../org/springframework/http/codec/Pojo.java | 0 .../http/codec/SseEventEncoderTests.java | 1 - .../codec/json/JacksonJsonDecoderTests.java | 0 .../codec/json/JacksonJsonEncoderTests.java | 0 .../codec/json/JsonObjectDecoderTests.java | 0 .../http/codec/xml/Jaxb2DecoderTests.java | 0 .../http/codec/xml/Jaxb2EncoderTests.java | 0 .../http/codec/xml/XmlEventDecoderTests.java | 0 .../http/codec/xml/jaxb/XmlRootElement.java | 0 .../xml/jaxb/XmlRootElementWithName.java | 0 .../XmlRootElementWithNameAndNamespace.java | 0 .../http/codec/xml/jaxb/XmlType.java | 0 .../http/codec/xml/jaxb/XmlTypeWithName.java | 0 .../xml/jaxb/XmlTypeWithNameAndNamespace.java | 0 .../http/codec/xml/jaxb/package-info.java | 0 .../AbstractHttpHandlerIntegrationTests.java | 0 .../reactive/AsyncIntegrationTests.java | 0 .../reactive/ChannelSendOperatorTests.java | 0 .../reactive/CookieIntegrationTests.java | 0 .../reactive/EchoHandlerIntegrationTests.java | 0 .../ErrorHandlerIntegrationTests.java | 0 .../reactive/FlushingIntegrationTests.java | 6 +- .../reactive/MockServerHttpRequest.java | 0 .../reactive/MockServerHttpResponse.java | 0 .../RandomHandlerIntegrationTests.java | 0 .../reactive/ServerHttpRequestTests.java | 0 .../reactive/ServerHttpResponseTests.java | 0 .../reactive/ZeroCopyIntegrationTests.java | 0 .../server/reactive/bootstrap/HttpServer.java | 0 .../reactive/bootstrap/HttpServerSupport.java | 0 .../reactive/bootstrap/JettyHttpServer.java | 0 .../reactive/bootstrap/ReactorHttpServer.java | 0 .../reactive/bootstrap/RxNettyHttpServer.java | 0 .../reactive/bootstrap/TomcatHttpServer.java | 0 .../bootstrap/UndertowHttpServer.java | 0 .../reactive/bootstrap/package-info.java | 0 .../test/DelegatingServletInputStream.java | 15 ++++ .../test/DelegatingServletOutputStream.java | 10 +++ .../mock/web/test/MockHttpServletRequest.java | 6 ++ .../mock/web/test/MockPart.java | 5 ++ .../mock/web/test/MockServletContext.java | 5 ++ .../DefaultWebRequestBuilderTests.java | 0 .../RxJava1WebClientIntegrationTests.java | 69 +++++++++--------- .../reactive/WebClientIntegrationTests.java | 69 +++++++++--------- .../StandardServletAsyncWebRequestTests.java | 10 +-- .../ExceptionHandlingHttpHandlerTests.java | 0 .../handler/FilteringWebHandlerTests.java | 0 .../DefaultWebSessionManagerTests.java | 0 .../server/session/MockWebSessionManager.java | 0 .../session/WebSessionIntegrationTests.java | 0 .../http/server/reactive/spring.png | Bin 152 files changed, 217 insertions(+), 169 deletions(-) delete mode 100644 spring-web-reactive/src/main/java/org/springframework/http/package-info.java delete mode 100644 spring-web-reactive/src/main/java/org/springframework/http/support/MediaTypeUtils.java delete mode 100644 spring-web-reactive/src/main/java/org/springframework/web/package-info.java rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/HttpCookie.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/ReactiveHttpInputMessage.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/ResponseCookie.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/ZeroCopyHttpOutputMessage.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/client/reactive/ClientHttpConnector.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/client/reactive/ClientHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/client/reactive/package-info.java (100%) rename {spring-web-reactive/src/main/java/org/springframework/web/reactive/sse => spring-web/src/main/java/org/springframework/http/codec}/SseEvent.java (98%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/codec/SseEventEncoder.java (98%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/codec/json/JacksonJsonDecoder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/codec/json/JacksonJsonEncoder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/codec/json/JsonObjectDecoder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/codec/xml/Jaxb2Decoder.java (98%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/codec/xml/Jaxb2Encoder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/codec/xml/JaxbContextContainer.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/codec/xml/XmlEventDecoder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/converter/reactive/CodecHttpMessageConverter.java (97%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/converter/reactive/ResourceHttpMessageConverter.java (95%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/AbstractRequestBodyPublisher.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/AbstractResponseBodyProcessor.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/AbstractServerHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/HttpHandler.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ReactorHttpHandlerAdapter.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ResponseBodyWriteResultPublisher.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/RxNettyHttpHandlerAdapter.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ServerHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ServerHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ServletHttpHandlerAdapter.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ServletServerHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/UndertowHttpHandlerAdapter.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/http/server/reactive/package-info.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/ClientWebRequest.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/ClientWebRequestBuilder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/ClientWebRequestBuilders.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/ClientWebRequestPostProcessor.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/DefaultClientWebRequestBuilder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/ResponseExtractor.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/WebClient.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/WebClientException.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/WebResponseActions.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/support/RxJava1ClientWebRequestBuilder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/support/RxJava1ClientWebRequestBuilders.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/MediaTypeNotSupportedStatusException.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/MethodNotAllowedException.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/NotAcceptableStatusException.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/ResponseStatusException.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/ServerErrorException.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/ServerWebExchange.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/ServerWebInputException.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/UnsupportedMediaTypeStatusException.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/WebExceptionHandler.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/WebFilter.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/WebFilterChain.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/WebHandler.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/WebSession.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/adapter/DefaultServerWebExchange.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/adapter/HttpWebHandlerAdapter.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/adapter/package-info.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/handler/ExceptionHandlingWebHandler.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/handler/FilteringWebHandler.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/handler/WebHandlerDecorator.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/handler/package-info.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/package-info.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/ConfigurableWebSession.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/CookieWebSessionIdResolver.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/DefaultWebSession.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/DefaultWebSessionManager.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/InMemoryWebSessionStore.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/WebSessionIdResolver.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/WebSessionManager.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/WebSessionStore.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/server/session/package-info.java (100%) rename {spring-web-reactive => spring-web}/src/main/java/org/springframework/web/util/HttpRequestPathHelper.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/Pojo.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/SseEventEncoderTests.java (98%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/json/JacksonJsonDecoderTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/json/JsonObjectDecoderTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/Jaxb2DecoderTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/Jaxb2EncoderTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/jaxb/XmlRootElement.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/jaxb/XmlRootElementWithName.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/jaxb/XmlRootElementWithNameAndNamespace.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/jaxb/XmlType.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/jaxb/XmlTypeWithName.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/jaxb/XmlTypeWithNameAndNamespace.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/codec/xml/jaxb/package-info.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/AbstractHttpHandlerIntegrationTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/AsyncIntegrationTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/ChannelSendOperatorTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/CookieIntegrationTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/EchoHandlerIntegrationTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/ErrorHandlerIntegrationTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/FlushingIntegrationTests.java (90%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/MockServerHttpRequest.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/MockServerHttpResponse.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/RandomHandlerIntegrationTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/ServerHttpRequestTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/ServerHttpResponseTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServer.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServerSupport.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/bootstrap/JettyHttpServer.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/bootstrap/RxNettyHttpServer.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/bootstrap/TomcatHttpServer.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/bootstrap/UndertowHttpServer.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/http/server/reactive/bootstrap/package-info.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/web/client/reactive/DefaultWebRequestBuilderTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/web/client/reactive/RxJava1WebClientIntegrationTests.java (81%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java (78%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/web/server/handler/ExceptionHandlingHttpHandlerTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/web/server/session/DefaultWebSessionManagerTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/web/server/session/MockWebSessionManager.java (100%) rename {spring-web-reactive => spring-web}/src/test/java/org/springframework/web/server/session/WebSessionIntegrationTests.java (100%) rename {spring-web-reactive => spring-web}/src/test/resources/org/springframework/http/server/reactive/spring.png (100%) diff --git a/build.gradle b/build.gradle index c5b45f002c0..c5d82a4e6ff 100644 --- a/build.gradle +++ b/build.gradle @@ -673,7 +673,7 @@ project("spring-web") { compile(project(":spring-beans")) // for MultipartFilter compile(project(":spring-context")) compile(project(":spring-core")) - provided("javax.servlet:javax.servlet-api:3.0.1") + provided "javax.servlet:javax.servlet-api:3.1.0" optional(project(":spring-oxm")) // for MarshallingHttpMessageConverter optional("javax.servlet.jsp:javax.servlet.jsp-api:2.2.1") optional("javax.el:javax.el-api:2.2.5") @@ -682,6 +682,16 @@ project("spring-web") { optional("org.codehaus.groovy:groovy-all:${groovyVersion}") optional("com.caucho:hessian:4.0.38") optional("commons-fileupload:commons-fileupload:${fileuploadVersion}") + optional("org.reactivestreams:reactive-streams:1.0.0") + optional("io.projectreactor:reactor-core:${reactorCoreVersion}") + optional("io.projectreactor:reactor-netty:${reactorNettyVersion}") + optional("io.reactivex:rxnetty-http:0.5.2-SNAPSHOT") { + exclude group: 'io.reactivex', module: 'rxjava' + } + optional("io.reactivex:rxjava:${rxJavaVersion}") + optional("io.undertow:undertow-core:1.3.20.Final") + optional("io.netty:netty-buffer:${nettyVersion}") // Temporarily for JsonObjectDecoder + optional("com.fasterxml:aalto-xml:1.0.0") optional("org.apache.httpcomponents:httpclient:${httpclientVersion}") optional("org.apache.httpcomponents:httpasyncclient:${httpasyncVersion}") optional("io.netty:netty-all:${nettyVersion}") @@ -710,6 +720,11 @@ project("spring-web") { testCompile("com.fasterxml.jackson.datatype:jackson-datatype-jdk8:${jackson2Version}") testCompile("com.fasterxml.jackson.module:jackson-module-kotlin:${jackson2Version}") testRuntime("com.sun.mail:javax.mail:${javamailVersion}") + testCompile("org.apache.tomcat:tomcat-util:${tomcatVersion}") + testCompile("org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}") + testCompile("org.eclipse.jetty:jetty-server:${jettyVersion}") + testCompile("org.eclipse.jetty:jetty-servlet:${jettyVersion}") + testCompile("com.squareup.okhttp3:mockwebserver:3.0.1") } } @@ -817,25 +832,23 @@ project("spring-web-reactive") { compile(project(":spring-web")) compile "org.reactivestreams:reactive-streams:1.0.0" compile "io.projectreactor:reactor-core:${reactorCoreVersion}" - compile "io.netty:netty-buffer:${nettyVersion}" // Temporarily for JsonObjectDecoder optional(project(":spring-context-support")) // for FreeMarker support provided "javax.servlet:javax.servlet-api:3.1.0" - optional "org.apache.tomcat:tomcat-util:${tomcatVersion}" - optional "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" - optional "org.eclipse.jetty:jetty-server:${jettyVersion}" - optional "org.eclipse.jetty:jetty-servlet:${jettyVersion}" - optional 'io.undertow:undertow-core:1.3.20.Final' - optional "io.projectreactor:reactor-netty:${reactorNettyVersion}" - optional "io.reactivex:rxjava:${rxJavaVersion}" - optional("io.reactivex:rxnetty-http:0.5.2-SNAPSHOT") { - exclude group: 'io.reactivex', module: 'rxjava' - } optional("com.fasterxml.jackson.core:jackson-databind:${jackson2Version}") - optional("com.fasterxml:aalto-xml:1.0.0") optional("org.freemarker:freemarker:${freemarkerVersion}") optional "org.apache.httpcomponents:httpclient:4.5.1" // Needed to run Javadoc without error + testCompile("org.apache.tomcat:tomcat-util:${tomcatVersion}") + testCompile("org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}") + testCompile("org.eclipse.jetty:jetty-server:${jettyVersion}") + testCompile("org.eclipse.jetty:jetty-servlet:${jettyVersion}") + testCompile("io.projectreactor:reactor-netty:${reactorNettyVersion}") + testCompile("io.reactivex:rxnetty-http:0.5.2-SNAPSHOT") { + exclude group: 'io.reactivex', module: 'rxjava' + } + testCompile("io.undertow:undertow-core:1.3.20.Final") + testCompile("io.reactivex:rxjava:${rxJavaVersion}") + testCompile("com.fasterxml:aalto-xml:1.0.0") testCompile("org.slf4j:slf4j-jcl:${slf4jVersion}") - testCompile "com.squareup.okhttp3:mockwebserver:3.0.1" testCompile("javax.validation:validation-api:${beanvalVersion}") testCompile("xmlunit:xmlunit:1.6") } diff --git a/spring-web-reactive/src/main/java/org/springframework/http/package-info.java b/spring-web-reactive/src/main/java/org/springframework/http/package-info.java deleted file mode 100644 index 0f7cce528b0..00000000000 --- a/spring-web-reactive/src/main/java/org/springframework/http/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Contains a basic abstraction over client/server-side HTTP. This package contains - * the {@code HttpInputMessage} and {@code HttpOutputMessage} interfaces. - */ -package org.springframework.http; diff --git a/spring-web-reactive/src/main/java/org/springframework/http/support/MediaTypeUtils.java b/spring-web-reactive/src/main/java/org/springframework/http/support/MediaTypeUtils.java deleted file mode 100644 index 68d1612e8ee..00000000000 --- a/spring-web-reactive/src/main/java/org/springframework/http/support/MediaTypeUtils.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2002-2016 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.http.support; - -import java.util.List; -import java.util.stream.Collectors; - -import org.springframework.http.MediaType; -import org.springframework.util.MimeType; - -/** - * @author Arjen Poutsma - */ -public abstract class MediaTypeUtils { - - /** - * TODO: move to MediaType static method - */ - public static List toMediaTypes(List mimeTypes) { - return mimeTypes.stream().map(MediaTypeUtils::toMediaType) - .collect(Collectors.toList()); - } - - /** - * TODO: move to MediaType constructor - */ - public static MediaType toMediaType(MimeType mimeType) { - return new MediaType(mimeType.getType(), mimeType.getSubtype(), - mimeType.getParameters()); - } - - -} diff --git a/spring-web-reactive/src/main/java/org/springframework/web/package-info.java b/spring-web-reactive/src/main/java/org/springframework/web/package-info.java deleted file mode 100644 index 142f096ec74..00000000000 --- a/spring-web-reactive/src/main/java/org/springframework/web/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Common, generic interfaces that define minimal boundary points - * between Spring's web infrastructure and other framework modules. - */ -package org.springframework.web; diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java index d9f07e25030..131776dbb7c 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/accept/PathExtensionContentTypeResolver.java @@ -22,10 +22,9 @@ import java.util.Optional; import org.springframework.core.io.Resource; import org.springframework.http.MediaType; -import org.springframework.http.support.MediaTypeUtils; import org.springframework.util.Assert; import org.springframework.util.MimeType; -import org.springframework.util.MimeTypeUtils2; +import org.springframework.util.MimeTypeUtils; import org.springframework.util.StringUtils; import org.springframework.web.server.NotAcceptableStatusException; import org.springframework.web.server.ServerWebExchange; @@ -94,8 +93,8 @@ public class PathExtensionContentTypeResolver extends AbstractMappingContentType @Override protected MediaType handleNoMatch(String key) throws NotAcceptableStatusException { if (this.useJaf) { - Optional mimeType = MimeTypeUtils2.getMimeType("file." + key); - MediaType mediaType = mimeType.map(MediaTypeUtils::toMediaType).orElse(null); + Optional mimeType = MimeTypeUtils.getMimeType("file." + key); + MediaType mediaType = mimeType.map(MediaType::toMediaType).orElse(null); if (mediaType != null && !MediaType.APPLICATION_OCTET_STREAM.equals(mediaType)) { return mediaType; } @@ -122,9 +121,7 @@ public class PathExtensionContentTypeResolver extends AbstractMappingContentType mediaType = getMediaType(extension); } if (mediaType == null) { - mediaType = - MimeTypeUtils2.getMimeType(filename).map(MediaTypeUtils::toMediaType) - .orElse(null); + mediaType = MimeTypeUtils.getMimeType(filename).map(MediaType::toMediaType).orElse(null); } if (MediaType.APPLICATION_OCTET_STREAM.equals(mediaType)) { mediaType = null; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java index 9de15cab870..efec16d2fec 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java @@ -52,7 +52,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.reactive.WebClient; import org.springframework.web.reactive.DispatcherHandler; import org.springframework.web.reactive.config.WebReactiveConfiguration; -import org.springframework.web.reactive.sse.SseEvent; +import org.springframework.http.codec.SseEvent; import org.springframework.web.server.adapter.WebHttpHandlerBuilder; /** diff --git a/spring-web-reactive/src/main/java/org/springframework/http/HttpCookie.java b/spring-web/src/main/java/org/springframework/http/HttpCookie.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/HttpCookie.java rename to spring-web/src/main/java/org/springframework/http/HttpCookie.java diff --git a/spring-web/src/main/java/org/springframework/http/MediaType.java b/spring-web/src/main/java/org/springframework/http/MediaType.java index 7763febe033..e243a5eb759 100644 --- a/spring-web/src/main/java/org/springframework/http/MediaType.java +++ b/spring-web/src/main/java/org/springframework/http/MediaType.java @@ -25,6 +25,7 @@ import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import org.springframework.util.Assert; import org.springframework.util.InvalidMimeTypeException; @@ -445,6 +446,22 @@ public class MediaType extends MimeType implements Serializable { return result; } + /** + * Re-create the given mime types as media types. + * @since 5.0 + */ + public static List toMediaTypes(List mimeTypes) { + return mimeTypes.stream().map(MediaType::toMediaType).collect(Collectors.toList()); + } + + /** + * Re-create the given mime type as a media type. + * @since 5.0 + */ + public static MediaType toMediaType(MimeType mimeType) { + return new MediaType(mimeType.getType(), mimeType.getSubtype(), mimeType.getParameters()); + } + /** * Return a string representation of the given list of {@code MediaType} objects. *

This method can be used to for an {@code Accept} or {@code Content-Type} header. diff --git a/spring-web-reactive/src/main/java/org/springframework/http/ReactiveHttpInputMessage.java b/spring-web/src/main/java/org/springframework/http/ReactiveHttpInputMessage.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/ReactiveHttpInputMessage.java rename to spring-web/src/main/java/org/springframework/http/ReactiveHttpInputMessage.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java b/spring-web/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java rename to spring-web/src/main/java/org/springframework/http/ReactiveHttpOutputMessage.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/ResponseCookie.java b/spring-web/src/main/java/org/springframework/http/ResponseCookie.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/ResponseCookie.java rename to spring-web/src/main/java/org/springframework/http/ResponseCookie.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/ZeroCopyHttpOutputMessage.java b/spring-web/src/main/java/org/springframework/http/ZeroCopyHttpOutputMessage.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/ZeroCopyHttpOutputMessage.java rename to spring-web/src/main/java/org/springframework/http/ZeroCopyHttpOutputMessage.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java rename to spring-web/src/main/java/org/springframework/http/client/reactive/AbstractClientHttpRequest.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ClientHttpConnector.java b/spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpConnector.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ClientHttpConnector.java rename to spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpConnector.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpRequest.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ClientHttpRequest.java rename to spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpRequest.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java b/spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java rename to spring-web/src/main/java/org/springframework/http/client/reactive/ClientHttpResponse.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java b/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java rename to spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpRequest.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpRequest.java rename to spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpRequest.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpResponse.java b/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpResponse.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpResponse.java rename to spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpResponse.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/client/reactive/package-info.java b/spring-web/src/main/java/org/springframework/http/client/reactive/package-info.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/client/reactive/package-info.java rename to spring-web/src/main/java/org/springframework/http/client/reactive/package-info.java diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/sse/SseEvent.java b/spring-web/src/main/java/org/springframework/http/codec/SseEvent.java similarity index 98% rename from spring-web-reactive/src/main/java/org/springframework/web/reactive/sse/SseEvent.java rename to spring-web/src/main/java/org/springframework/http/codec/SseEvent.java index 9386e59d570..938ae4e8e47 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/sse/SseEvent.java +++ b/spring-web/src/main/java/org/springframework/http/codec/SseEvent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.web.reactive.sse; +package org.springframework.http.codec; import org.springframework.http.MediaType; import org.springframework.http.codec.SseEventEncoder; diff --git a/spring-web-reactive/src/main/java/org/springframework/http/codec/SseEventEncoder.java b/spring-web/src/main/java/org/springframework/http/codec/SseEventEncoder.java similarity index 98% rename from spring-web-reactive/src/main/java/org/springframework/http/codec/SseEventEncoder.java rename to spring-web/src/main/java/org/springframework/http/codec/SseEventEncoder.java index 5384b6f861f..d501192a08d 100644 --- a/spring-web-reactive/src/main/java/org/springframework/http/codec/SseEventEncoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/SseEventEncoder.java @@ -34,7 +34,6 @@ import org.springframework.core.io.buffer.FlushingDataBuffer; import org.springframework.http.MediaType; import org.springframework.util.Assert; import org.springframework.util.MimeType; -import org.springframework.web.reactive.sse.SseEvent; /** * An encoder for {@link SseEvent}s that also supports any other kind of {@link Object} diff --git a/spring-web-reactive/src/main/java/org/springframework/http/codec/json/JacksonJsonDecoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/JacksonJsonDecoder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/codec/json/JacksonJsonDecoder.java rename to spring-web/src/main/java/org/springframework/http/codec/json/JacksonJsonDecoder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/codec/json/JacksonJsonEncoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/JacksonJsonEncoder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/codec/json/JacksonJsonEncoder.java rename to spring-web/src/main/java/org/springframework/http/codec/json/JacksonJsonEncoder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/codec/json/JsonObjectDecoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/JsonObjectDecoder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/codec/json/JsonObjectDecoder.java rename to spring-web/src/main/java/org/springframework/http/codec/json/JsonObjectDecoder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/codec/xml/Jaxb2Decoder.java b/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2Decoder.java similarity index 98% rename from spring-web-reactive/src/main/java/org/springframework/http/codec/xml/Jaxb2Decoder.java rename to spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2Decoder.java index d0dfe8ae6d8..32222008ce9 100644 --- a/spring-web-reactive/src/main/java/org/springframework/http/codec/xml/Jaxb2Decoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2Decoder.java @@ -35,13 +35,13 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import org.springframework.core.ResolvableType; -import org.springframework.core.codec.CodecException; import org.springframework.core.codec.AbstractDecoder; +import org.springframework.core.codec.CodecException; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.util.ClassUtils; import org.springframework.util.MimeType; import org.springframework.util.MimeTypeUtils; -import org.springframework.util.xml.StaxUtils2; +import org.springframework.util.xml.StaxUtils; /** * Decode from a bytes stream of XML elements to a stream of {@code Object} (POJO). @@ -198,7 +198,7 @@ public class Jaxb2Decoder extends AbstractDecoder { private Object unmarshal(List events, Class outputClass) { try { Unmarshaller unmarshaller = this.jaxbContexts.createUnmarshaller(outputClass); - XMLEventReader eventReader = StaxUtils2.createXMLEventReader(events); + XMLEventReader eventReader = StaxUtils.createXMLEventReader(events); if (outputClass.isAnnotationPresent(XmlRootElement.class)) { return unmarshaller.unmarshal(eventReader); } diff --git a/spring-web-reactive/src/main/java/org/springframework/http/codec/xml/Jaxb2Encoder.java b/spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2Encoder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/codec/xml/Jaxb2Encoder.java rename to spring-web/src/main/java/org/springframework/http/codec/xml/Jaxb2Encoder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/codec/xml/JaxbContextContainer.java b/spring-web/src/main/java/org/springframework/http/codec/xml/JaxbContextContainer.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/codec/xml/JaxbContextContainer.java rename to spring-web/src/main/java/org/springframework/http/codec/xml/JaxbContextContainer.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/codec/xml/XmlEventDecoder.java b/spring-web/src/main/java/org/springframework/http/codec/xml/XmlEventDecoder.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/codec/xml/XmlEventDecoder.java rename to spring-web/src/main/java/org/springframework/http/codec/xml/XmlEventDecoder.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/converter/reactive/CodecHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/reactive/CodecHttpMessageConverter.java similarity index 97% rename from spring-web-reactive/src/main/java/org/springframework/http/converter/reactive/CodecHttpMessageConverter.java rename to spring-web/src/main/java/org/springframework/http/converter/reactive/CodecHttpMessageConverter.java index b88156eaece..a2579bc5766 100644 --- a/spring-web-reactive/src/main/java/org/springframework/http/converter/reactive/CodecHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/reactive/CodecHttpMessageConverter.java @@ -32,7 +32,6 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ReactiveHttpInputMessage; import org.springframework.http.ReactiveHttpOutputMessage; -import org.springframework.http.support.MediaTypeUtils; /** * Implementation of the {@link HttpMessageConverter} interface that delegates to @@ -84,10 +83,10 @@ public class CodecHttpMessageConverter implements HttpMessageConverter { this.decoder = decoder; this.readableMediaTypes = decoder != null ? - MediaTypeUtils.toMediaTypes(decoder.getDecodableMimeTypes()) : + MediaType.toMediaTypes(decoder.getDecodableMimeTypes()) : Collections.emptyList(); this.writableMediaTypes = encoder != null ? - MediaTypeUtils.toMediaTypes(encoder.getEncodableMimeTypes()) : + MediaType.toMediaTypes(encoder.getEncodableMimeTypes()) : Collections.emptyList(); } diff --git a/spring-web-reactive/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java similarity index 100% rename from spring-web-reactive/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java rename to spring-web/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java diff --git a/spring-web-reactive/src/main/java/org/springframework/http/converter/reactive/ResourceHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/reactive/ResourceHttpMessageConverter.java similarity index 95% rename from spring-web-reactive/src/main/java/org/springframework/http/converter/reactive/ResourceHttpMessageConverter.java rename to spring-web/src/main/java/org/springframework/http/converter/reactive/ResourceHttpMessageConverter.java index 0e228073fc4..2d51db0dbab 100644 --- a/spring-web-reactive/src/main/java/org/springframework/http/converter/reactive/ResourceHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/reactive/ResourceHttpMessageConverter.java @@ -33,8 +33,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ReactiveHttpOutputMessage; import org.springframework.http.ZeroCopyHttpOutputMessage; -import org.springframework.http.support.MediaTypeUtils; -import org.springframework.util.MimeTypeUtils2; +import org.springframework.util.MimeTypeUtils; import org.springframework.util.ResourceUtils; /** @@ -73,8 +72,8 @@ public class ResourceHttpMessageConverter extends CodecHttpMessageConverter result = this.webClient - .perform(get("http://localhost:" + port)) - .extract(bodyStream(String.class)) + .perform(ClientWebRequestBuilders.get("http://localhost:" + port)) + .extract(ResponseExtractors.bodyStream(String.class)) .takeUntil(s -> { return s.endsWith("data1"); }) diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/MockServerHttpRequest.java b/spring-web/src/test/java/org/springframework/http/server/reactive/MockServerHttpRequest.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/MockServerHttpRequest.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/MockServerHttpRequest.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/MockServerHttpResponse.java b/spring-web/src/test/java/org/springframework/http/server/reactive/MockServerHttpResponse.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/MockServerHttpResponse.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/MockServerHttpResponse.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/RandomHandlerIntegrationTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/RandomHandlerIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/RandomHandlerIntegrationTests.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/RandomHandlerIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/ServerHttpRequestTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/ServerHttpRequestTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/ServerHttpRequestTests.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/ServerHttpRequestTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/ServerHttpResponseTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/ServerHttpResponseTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/ServerHttpResponseTests.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/ServerHttpResponseTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/ZeroCopyIntegrationTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServer.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServer.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServer.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServer.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServerSupport.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServerSupport.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServerSupport.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/HttpServerSupport.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/JettyHttpServer.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/JettyHttpServer.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/JettyHttpServer.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/JettyHttpServer.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/RxNettyHttpServer.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/RxNettyHttpServer.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/RxNettyHttpServer.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/RxNettyHttpServer.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/TomcatHttpServer.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/TomcatHttpServer.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/TomcatHttpServer.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/TomcatHttpServer.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/UndertowHttpServer.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/UndertowHttpServer.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/UndertowHttpServer.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/UndertowHttpServer.java diff --git a/spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/package-info.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/package-info.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/http/server/reactive/bootstrap/package-info.java rename to spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/package-info.java diff --git a/spring-web/src/test/java/org/springframework/mock/web/test/DelegatingServletInputStream.java b/spring-web/src/test/java/org/springframework/mock/web/test/DelegatingServletInputStream.java index f0a259edd20..336968d9960 100644 --- a/spring-web/src/test/java/org/springframework/mock/web/test/DelegatingServletInputStream.java +++ b/spring-web/src/test/java/org/springframework/mock/web/test/DelegatingServletInputStream.java @@ -18,6 +18,7 @@ package org.springframework.mock.web.test; import java.io.IOException; import java.io.InputStream; +import javax.servlet.ReadListener; import javax.servlet.ServletInputStream; import org.springframework.util.Assert; @@ -65,4 +66,18 @@ public class DelegatingServletInputStream extends ServletInputStream { this.sourceStream.close(); } + @Override + public boolean isFinished() { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isReady() { + throw new UnsupportedOperationException(); + } + + @Override + public void setReadListener(ReadListener readListener) { + throw new UnsupportedOperationException(); + } } diff --git a/spring-web/src/test/java/org/springframework/mock/web/test/DelegatingServletOutputStream.java b/spring-web/src/test/java/org/springframework/mock/web/test/DelegatingServletOutputStream.java index 58aa59d49da..94317e42c13 100644 --- a/spring-web/src/test/java/org/springframework/mock/web/test/DelegatingServletOutputStream.java +++ b/spring-web/src/test/java/org/springframework/mock/web/test/DelegatingServletOutputStream.java @@ -19,6 +19,7 @@ package org.springframework.mock.web.test; import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletOutputStream; +import javax.servlet.WriteListener; import org.springframework.util.Assert; @@ -71,4 +72,13 @@ public class DelegatingServletOutputStream extends ServletOutputStream { this.targetStream.close(); } + @Override + public boolean isReady() { + throw new UnsupportedOperationException(); + } + + @Override + public void setWriteListener(WriteListener writeListener) { + throw new UnsupportedOperationException(); + } } diff --git a/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java b/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java index 1406333d820..633895797a7 100644 --- a/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java +++ b/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java @@ -51,6 +51,7 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import javax.servlet.http.HttpUpgradeHandler; import javax.servlet.http.Part; import org.springframework.http.MediaType; @@ -1220,4 +1221,9 @@ public class MockHttpServletRequest implements HttpServletRequest { return result; } + @Override + public T upgrade(Class handlerClass) throws IOException, ServletException { + throw new UnsupportedOperationException(); + } + } diff --git a/spring-web/src/test/java/org/springframework/mock/web/test/MockPart.java b/spring-web/src/test/java/org/springframework/mock/web/test/MockPart.java index 79360ef711f..1f742eed9eb 100644 --- a/spring-web/src/test/java/org/springframework/mock/web/test/MockPart.java +++ b/spring-web/src/test/java/org/springframework/mock/web/test/MockPart.java @@ -94,6 +94,11 @@ public class MockPart implements Part { return this.name; } + @Override + public String getSubmittedFileName() { + return this.name; + } + @Override public String getContentType() { return this.contentType; diff --git a/spring-web/src/test/java/org/springframework/mock/web/test/MockServletContext.java b/spring-web/src/test/java/org/springframework/mock/web/test/MockServletContext.java index 2d334ee8a91..cfa3608a443 100644 --- a/spring-web/src/test/java/org/springframework/mock/web/test/MockServletContext.java +++ b/spring-web/src/test/java/org/springframework/mock/web/test/MockServletContext.java @@ -545,6 +545,11 @@ public class MockServletContext implements ServletContext { } } + @Override + public String getVirtualServerName() { + throw new UnsupportedOperationException(); + } + public Set getDeclaredRoles() { return Collections.unmodifiableSet(this.declaredRoles); } diff --git a/spring-web-reactive/src/test/java/org/springframework/web/client/reactive/DefaultWebRequestBuilderTests.java b/spring-web/src/test/java/org/springframework/web/client/reactive/DefaultWebRequestBuilderTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/client/reactive/DefaultWebRequestBuilderTests.java rename to spring-web/src/test/java/org/springframework/web/client/reactive/DefaultWebRequestBuilderTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/client/reactive/RxJava1WebClientIntegrationTests.java b/spring-web/src/test/java/org/springframework/web/client/reactive/RxJava1WebClientIntegrationTests.java similarity index 81% rename from spring-web-reactive/src/test/java/org/springframework/web/client/reactive/RxJava1WebClientIntegrationTests.java rename to spring-web/src/test/java/org/springframework/web/client/reactive/RxJava1WebClientIntegrationTests.java index 97ebe3eed0f..a974595f23f 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/client/reactive/RxJava1WebClientIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/web/client/reactive/RxJava1WebClientIntegrationTests.java @@ -28,6 +28,7 @@ import okhttp3.mockwebserver.MockWebServer; import okhttp3.mockwebserver.RecordedRequest; import org.hamcrest.Matchers; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -79,9 +80,9 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); - assertEquals("/greeting?name=Spring", request.getPath()); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals("/greeting?name=Spring", request.getPath()); } @Test @@ -105,10 +106,10 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("testvalue", request.getHeader("X-Test-Header")); - assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); - assertEquals("/greeting?name=Spring", request.getPath()); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("testvalue", request.getHeader("X-Test-Header")); + Assert.assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals("/greeting?name=Spring", request.getPath()); } @Test @@ -134,9 +135,9 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/greeting?name=Spring", request.getPath()); - assertEquals("text/plain", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/greeting?name=Spring", request.getPath()); + Assert.assertEquals("text/plain", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -162,9 +163,9 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/json", request.getPath()); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/json", request.getPath()); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -189,9 +190,9 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/pojo", request.getPath()); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/pojo", request.getPath()); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -216,9 +217,9 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/pojos", request.getPath()); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/pojos", request.getPath()); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -244,9 +245,9 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/pojos", request.getPath()); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/pojos", request.getPath()); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -274,12 +275,12 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/pojo/capitalize", request.getPath()); - assertEquals("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}", request.getBody().readUtf8()); - assertEquals("chunked", request.getHeader(HttpHeaders.TRANSFER_ENCODING)); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); - assertEquals("application/json", request.getHeader(HttpHeaders.CONTENT_TYPE)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/pojo/capitalize", request.getPath()); + Assert.assertEquals("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}", request.getBody().readUtf8()); + Assert.assertEquals("chunked", request.getHeader(HttpHeaders.TRANSFER_ENCODING)); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.CONTENT_TYPE)); } @Test @@ -303,9 +304,9 @@ public class RxJava1WebClientIntegrationTests { ts.assertCompleted(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/test", request.getPath()); - assertEquals("testkey=testvalue", request.getHeader(HttpHeaders.COOKIE)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/test", request.getPath()); + Assert.assertEquals("testkey=testvalue", request.getHeader(HttpHeaders.COOKIE)); } @Test @@ -327,9 +328,9 @@ public class RxJava1WebClientIntegrationTests { ts.assertError(WebClientException.class); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); - assertEquals("/greeting?name=Spring", request.getPath()); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals("/greeting?name=Spring", request.getPath()); } @After diff --git a/spring-web-reactive/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java b/spring-web/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java similarity index 78% rename from spring-web-reactive/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java rename to spring-web/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java index 88d97aa84ec..b87e888d6ea 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java @@ -28,6 +28,7 @@ import okhttp3.mockwebserver.MockWebServer; import okhttp3.mockwebserver.RecordedRequest; import org.hamcrest.Matchers; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Flux; @@ -77,9 +78,9 @@ public class WebClientIntegrationTests { .assertComplete(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); - assertEquals("/greeting?name=Spring", request.getPath()); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals("/greeting?name=Spring", request.getPath()); } @Test @@ -100,10 +101,10 @@ public class WebClientIntegrationTests { .assertComplete(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("testvalue", request.getHeader("X-Test-Header")); - assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); - assertEquals("/greeting?name=Spring", request.getPath()); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("testvalue", request.getHeader("X-Test-Header")); + Assert.assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals("/greeting?name=Spring", request.getPath()); } @Test @@ -125,9 +126,9 @@ public class WebClientIntegrationTests { assertEquals("Hello Spring!", response.getBody()); }); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/greeting?name=Spring", request.getPath()); - assertEquals("text/plain", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/greeting?name=Spring", request.getPath()); + Assert.assertEquals("text/plain", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -148,9 +149,9 @@ public class WebClientIntegrationTests { .awaitAndAssertNextValues(content) .assertComplete(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/json", request.getPath()); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/json", request.getPath()); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -170,9 +171,9 @@ public class WebClientIntegrationTests { .awaitAndAssertNextValuesWith(p -> assertEquals("barbar", p.getBar())) .assertComplete(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/pojo", request.getPath()); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/pojo", request.getPath()); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -195,9 +196,9 @@ public class WebClientIntegrationTests { .assertValueCount(2) .assertComplete(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/pojos", request.getPath()); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/pojos", request.getPath()); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -221,9 +222,9 @@ public class WebClientIntegrationTests { }) .assertComplete(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/pojos", request.getPath()); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/pojos", request.getPath()); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); } @Test @@ -248,12 +249,12 @@ public class WebClientIntegrationTests { .assertComplete(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/pojo/capitalize", request.getPath()); - assertEquals("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}", request.getBody().readUtf8()); - assertEquals("chunked", request.getHeader(HttpHeaders.TRANSFER_ENCODING)); - assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); - assertEquals("application/json", request.getHeader(HttpHeaders.CONTENT_TYPE)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/pojo/capitalize", request.getPath()); + Assert.assertEquals("{\"foo\":\"foofoo\",\"bar\":\"barbar\"}", request.getBody().readUtf8()); + Assert.assertEquals("chunked", request.getHeader(HttpHeaders.TRANSFER_ENCODING)); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals("application/json", request.getHeader(HttpHeaders.CONTENT_TYPE)); } @Test @@ -273,9 +274,9 @@ public class WebClientIntegrationTests { .assertComplete(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("/test", request.getPath()); - assertEquals("testkey=testvalue", request.getHeader(HttpHeaders.COOKIE)); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("/test", request.getPath()); + Assert.assertEquals("testkey=testvalue", request.getHeader(HttpHeaders.COOKIE)); } @Test @@ -294,9 +295,9 @@ public class WebClientIntegrationTests { .assertError(); RecordedRequest request = server.takeRequest(); - assertEquals(1, server.getRequestCount()); - assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); - assertEquals("/greeting?name=Spring", request.getPath()); + Assert.assertEquals(1, server.getRequestCount()); + Assert.assertEquals("*/*", request.getHeader(HttpHeaders.ACCEPT)); + Assert.assertEquals("/greeting?name=Spring", request.getPath()); } @After diff --git a/spring-web/src/test/java/org/springframework/web/context/request/async/StandardServletAsyncWebRequestTests.java b/spring-web/src/test/java/org/springframework/web/context/request/async/StandardServletAsyncWebRequestTests.java index 2596796e865..3eb9849e185 100644 --- a/spring-web/src/test/java/org/springframework/web/context/request/async/StandardServletAsyncWebRequestTests.java +++ b/spring-web/src/test/java/org/springframework/web/context/request/async/StandardServletAsyncWebRequestTests.java @@ -104,7 +104,7 @@ public class StandardServletAsyncWebRequestTests { @Test public void startAsyncAfterCompleted() throws Exception { - this.asyncRequest.onComplete(new AsyncEvent(null)); + this.asyncRequest.onComplete(new AsyncEvent(new MockAsyncContext(this.request, this.response))); try { this.asyncRequest.startAsync(); fail("expected exception"); @@ -116,7 +116,7 @@ public class StandardServletAsyncWebRequestTests { @Test public void onTimeoutDefaultBehavior() throws Exception { - this.asyncRequest.onTimeout(new AsyncEvent(null)); + this.asyncRequest.onTimeout(new AsyncEvent(new MockAsyncContext(this.request, this.response))); assertEquals(200, this.response.getStatus()); } @@ -124,7 +124,7 @@ public class StandardServletAsyncWebRequestTests { public void onTimeoutHandler() throws Exception { Runnable timeoutHandler = mock(Runnable.class); this.asyncRequest.addTimeoutHandler(timeoutHandler); - this.asyncRequest.onTimeout(new AsyncEvent(null)); + this.asyncRequest.onTimeout(new AsyncEvent(new MockAsyncContext(this.request, this.response))); verify(timeoutHandler).run(); } @@ -140,7 +140,7 @@ public class StandardServletAsyncWebRequestTests { this.asyncRequest.addCompletionHandler(handler); this.asyncRequest.startAsync(); - this.asyncRequest.onComplete(new AsyncEvent(null)); + this.asyncRequest.onComplete(new AsyncEvent(this.request.getAsyncContext())); verify(handler).run(); assertTrue(this.asyncRequest.isAsyncComplete()); @@ -154,7 +154,7 @@ public class StandardServletAsyncWebRequestTests { this.asyncRequest.addCompletionHandler(handler); this.asyncRequest.startAsync(); - this.asyncRequest.onError(new AsyncEvent(null)); + this.asyncRequest.onError(new AsyncEvent(this.request.getAsyncContext())); verify(handler).run(); assertTrue(this.asyncRequest.isAsyncComplete()); diff --git a/spring-web-reactive/src/test/java/org/springframework/web/server/handler/ExceptionHandlingHttpHandlerTests.java b/spring-web/src/test/java/org/springframework/web/server/handler/ExceptionHandlingHttpHandlerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/server/handler/ExceptionHandlingHttpHandlerTests.java rename to spring-web/src/test/java/org/springframework/web/server/handler/ExceptionHandlingHttpHandlerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java b/spring-web/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java rename to spring-web/src/test/java/org/springframework/web/server/handler/FilteringWebHandlerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/server/session/DefaultWebSessionManagerTests.java b/spring-web/src/test/java/org/springframework/web/server/session/DefaultWebSessionManagerTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/server/session/DefaultWebSessionManagerTests.java rename to spring-web/src/test/java/org/springframework/web/server/session/DefaultWebSessionManagerTests.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/server/session/MockWebSessionManager.java b/spring-web/src/test/java/org/springframework/web/server/session/MockWebSessionManager.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/server/session/MockWebSessionManager.java rename to spring-web/src/test/java/org/springframework/web/server/session/MockWebSessionManager.java diff --git a/spring-web-reactive/src/test/java/org/springframework/web/server/session/WebSessionIntegrationTests.java b/spring-web/src/test/java/org/springframework/web/server/session/WebSessionIntegrationTests.java similarity index 100% rename from spring-web-reactive/src/test/java/org/springframework/web/server/session/WebSessionIntegrationTests.java rename to spring-web/src/test/java/org/springframework/web/server/session/WebSessionIntegrationTests.java diff --git a/spring-web-reactive/src/test/resources/org/springframework/http/server/reactive/spring.png b/spring-web/src/test/resources/org/springframework/http/server/reactive/spring.png similarity index 100% rename from spring-web-reactive/src/test/resources/org/springframework/http/server/reactive/spring.png rename to spring-web/src/test/resources/org/springframework/http/server/reactive/spring.png