diff --git a/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultControllerSpec.java b/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultControllerSpec.java index 0d878c8339..ad2577b2af 100644 --- a/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultControllerSpec.java +++ b/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultControllerSpec.java @@ -25,7 +25,7 @@ import java.util.function.Consumer; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.format.FormatterRegistry; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.http.codec.ServerCodecConfigurer; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; @@ -141,7 +141,7 @@ class DefaultControllerSpec extends AbstractMockServerSpec messageCodecsConsumer; - private Consumer>> writersConsumer; + private Consumer>> writersConsumer; private Consumer formattersConsumer; diff --git a/spring-web/src/main/java/org/springframework/http/codec/DecoderHttpMessageReader.java b/spring-web/src/main/java/org/springframework/http/codec/DecoderHttpMessageReader.java index 266a6dd46d..b57b9ad66a 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/DecoderHttpMessageReader.java +++ b/spring-web/src/main/java/org/springframework/http/codec/DecoderHttpMessageReader.java @@ -36,7 +36,7 @@ import org.springframework.util.Assert; /** * {@code HttpMessageReader} that wraps and delegates to a {@link Decoder}. * - *

Also a {@code ServerHttpMessageReader} that pre-resolves decoding hints + *

Also a {@code HttpMessageReader} that pre-resolves decoding hints * from the extra information available on the server side such as the request * or controller method parameter annotations. * @@ -45,7 +45,7 @@ import org.springframework.util.Assert; * @author Rossen Stoyanchev * @since 5.0 */ -public class DecoderHttpMessageReader implements ServerHttpMessageReader { +public class DecoderHttpMessageReader implements HttpMessageReader { private final Decoder decoder; @@ -102,7 +102,7 @@ public class DecoderHttpMessageReader implements ServerHttpMessageReader { } - // ServerHttpMessageReader... + // Server-side only... @Override public Flux read(ResolvableType actualType, ResolvableType elementType, diff --git a/spring-web/src/main/java/org/springframework/http/codec/EncoderHttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/EncoderHttpMessageWriter.java index c7397c475b..e3209b0c9c 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/EncoderHttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/EncoderHttpMessageWriter.java @@ -37,7 +37,7 @@ import org.springframework.util.Assert; /** * {@code HttpMessageWriter} that wraps and delegates to a {@link Encoder}. * - *

Also a {@code ServerHttpMessageWriter} that pre-resolves encoding hints + *

Also a {@code HttpMessageWriter} that pre-resolves encoding hints * from the extra information available on the server side such as the request * or controller method annotations. * @@ -46,7 +46,7 @@ import org.springframework.util.Assert; * @author Rossen Stoyanchev * @since 5.0 */ -public class EncoderHttpMessageWriter implements ServerHttpMessageWriter { +public class EncoderHttpMessageWriter implements HttpMessageWriter { private final Encoder encoder; @@ -136,7 +136,7 @@ public class EncoderHttpMessageWriter implements ServerHttpMessageWriter { } - // ServerHttpMessageWriter... + // Server side only... @Override public Mono write(Publisher inputStream, ResolvableType actualType, diff --git a/spring-web/src/main/java/org/springframework/http/codec/HttpMessageReader.java b/spring-web/src/main/java/org/springframework/http/codec/HttpMessageReader.java index 009de9b0d8..0fbc036deb 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/HttpMessageReader.java +++ b/spring-web/src/main/java/org/springframework/http/codec/HttpMessageReader.java @@ -22,9 +22,12 @@ import java.util.Map; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import org.springframework.core.MethodParameter; import org.springframework.core.ResolvableType; import org.springframework.http.MediaType; import org.springframework.http.ReactiveHttpInputMessage; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.ServerHttpResponse; /** * Strategy for reading from a {@link ReactiveHttpInputMessage} and decoding @@ -74,5 +77,44 @@ public interface HttpMessageReader { */ Mono readMono(ResolvableType elementType, ReactiveHttpInputMessage message, Map hints); + /** + * Server-side only alternative to + * {@link #read(ResolvableType, ReactiveHttpInputMessage, Map)} with + * additional context available. + * + * @param actualType the actual type of the target method parameter; for + * annotated controllers, the {@link MethodParameter} can be accessed via + * {@link ResolvableType#getSource()}. + * @param elementType the type of Objects in the output stream + * @param request the current request + * @param response the current response + * @param hints additional information about how to read the body + * @return the decoded stream of elements + */ + default Flux read(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, + ServerHttpResponse response, Map hints) { + + return read(elementType, request, hints); + } + + /** + * Server-side only alternative to + * {@link #readMono(ResolvableType, ReactiveHttpInputMessage, Map)} with + * additional, context available. + * + * @param actualType the actual type of the target method parameter; for + * annotated controllers, the {@link MethodParameter} can be accessed via + * {@link ResolvableType#getSource()}. + * @param elementType the type of Objects in the output stream + * @param request the current request + * @param response the current response + * @param hints additional information about how to read the body + * @return the decoded stream of elements + */ + default Mono readMono(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, + ServerHttpResponse response, Map hints) { + + return readMono(elementType, request, hints); + } } diff --git a/spring-web/src/main/java/org/springframework/http/codec/HttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/HttpMessageWriter.java index 6083f905fa..848341cd3a 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/HttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/HttpMessageWriter.java @@ -22,9 +22,12 @@ import java.util.Map; import org.reactivestreams.Publisher; import reactor.core.publisher.Mono; +import org.springframework.core.MethodParameter; import org.springframework.core.ResolvableType; import org.springframework.http.MediaType; import org.springframework.http.ReactiveHttpOutputMessage; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.ServerHttpResponse; /** * Strategy for encoding a stream of objects of type {@code } and writing @@ -67,4 +70,26 @@ public interface HttpMessageWriter { MediaType mediaType, ReactiveHttpOutputMessage message, Map hints); + /** + * Server-side only alternative to + * {@link #write(Publisher, ResolvableType, MediaType, ReactiveHttpOutputMessage, Map)} + * with additional context available. + * + * @param actualType the actual return type of the method that returned the + * value; for annotated controllers, the {@link MethodParameter} can be + * accessed via {@link ResolvableType#getSource()}. + * @param elementType the type of Objects in the input stream + * @param mediaType the content type to use, possibly {@code null} indicating + * the default content type of the writer should be used. + * @param request the current request + * @param response the current response + * @return a {@link Mono} that indicates completion of writing or error + */ + default Mono write(Publisher inputStream, ResolvableType actualType, + ResolvableType elementType, MediaType mediaType, ServerHttpRequest request, + ServerHttpResponse response, Map hints) { + + return write(inputStream, elementType, mediaType, response, hints); + } + } diff --git a/spring-web/src/main/java/org/springframework/http/codec/ResourceHttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/ResourceHttpMessageWriter.java index d074e9d234..a5da877917 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/ResourceHttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/ResourceHttpMessageWriter.java @@ -53,7 +53,7 @@ import static java.util.Collections.emptyMap; /** * {@code HttpMessageWriter} that can write a {@link Resource}. * - *

Also an implementation of {@code ServerHttpMessageWriter} with support + *

Also an implementation of {@code HttpMessageWriter} with support * for writing one or more {@link ResourceRegion}'s based on the HTTP ranges * specified in the request. * @@ -68,7 +68,7 @@ import static java.util.Collections.emptyMap; * @see ResourceRegionEncoder * @see HttpRange */ -public class ResourceHttpMessageWriter implements ServerHttpMessageWriter { +public class ResourceHttpMessageWriter implements HttpMessageWriter { private static final ResolvableType REGION_TYPE = ResolvableType.forClass(ResourceRegion.class); @@ -102,7 +102,7 @@ public class ResourceHttpMessageWriter implements ServerHttpMessageWriter write(Publisher inputStream, ResolvableType elementType, @@ -171,7 +171,7 @@ public class ResourceHttpMessageWriter implements ServerHttpMessageWriter> getReaders() { + public List> getReaders() { // Built-in, concrete Java type readers - List> result = new ArrayList<>(); + List> result = new ArrayList<>(); this.defaultCodecs.addReaderTo(result, ByteArrayDecoder.class, ByteArrayDecoder::new); this.defaultCodecs.addReaderTo(result, ByteBufferDecoder.class, ByteBufferDecoder::new); this.defaultCodecs.addReaderTo(result, DataBufferDecoder.class, DataBufferDecoder::new); @@ -131,10 +131,10 @@ public class ServerCodecConfigurer { /** * Prepare a list of HTTP message writers. */ - public List> getWriters() { + public List> getWriters() { // Built-in, concrete Java type readers - List> result = new ArrayList<>(); + List> result = new ArrayList<>(); this.defaultCodecs.addWriterTo(result, ByteArrayEncoder.class, ByteArrayEncoder::new); this.defaultCodecs.addWriterTo(result, ByteBufferEncoder.class, ByteBufferEncoder::new); this.defaultCodecs.addWriterTo(result, DataBufferEncoder.class, DataBufferEncoder::new); @@ -169,9 +169,9 @@ public class ServerCodecConfigurer { private boolean suppressed = false; - private final Map, ServerHttpMessageReader> readers = new HashMap<>(); + private final Map, HttpMessageReader> readers = new HashMap<>(); - private final Map, ServerHttpMessageWriter> writers = new HashMap<>(); + private final Map, HttpMessageWriter> writers = new HashMap<>(); /** @@ -197,7 +197,7 @@ public class ServerCodecConfigurer { * @param encoder the encoder to use */ public void sse(Encoder encoder) { - ServerHttpMessageWriter writer = new ServerSentEventHttpMessageWriter(encoder); + HttpMessageWriter writer = new ServerSentEventHttpMessageWriter(encoder); this.writers.put(ServerSentEventHttpMessageWriter.class, writer); } @@ -208,14 +208,14 @@ public class ServerCodecConfigurer { this.suppressed = suppressed; } - private > void addReaderTo(List> result, + private > void addReaderTo(List> result, Class key, Supplier fallback) { addReaderTo(result, () -> findReader(key, fallback)); } - private void addReaderTo(List> result, - Supplier> reader) { + private void addReaderTo(List> result, + Supplier> reader) { if (!this.suppressed) { result.add(reader.get()); @@ -230,14 +230,14 @@ public class ServerCodecConfigurer { } - private > void addWriterTo(List> result, + private > void addWriterTo(List> result, Class key, Supplier fallback) { addWriterTo(result, () -> findWriter(key, fallback)); } - private void addWriterTo(List> result, - Supplier> writer) { + private void addWriterTo(List> result, + Supplier> writer) { if (!this.suppressed) { result.add(writer.get()); @@ -252,25 +252,25 @@ public class ServerCodecConfigurer { } - private void addStringReaderTextOnlyTo(List> result) { + private void addStringReaderTextOnlyTo(List> result) { addReaderTo(result, () -> new DecoderHttpMessageReader<>(StringDecoder.textPlainOnly(true))); } - private void addStringReaderTo(List> result) { + private void addStringReaderTo(List> result) { addReaderTo(result, () -> new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes(true))); } - private void addStringWriterTextPlainOnlyTo(List> result) { + private void addStringWriterTextPlainOnlyTo(List> result) { addWriterTo(result, () -> new EncoderHttpMessageWriter<>(CharSequenceEncoder.textPlainOnly())); } - private void addStringWriterTo(List> result) { + private void addStringWriterTo(List> result) { addWriterTo(result, () -> new EncoderHttpMessageWriter<>(CharSequenceEncoder.allMimeTypes())); } - private void addSseWriterTo(List> result) { + private void addSseWriterTo(List> result) { addWriterTo(result, () -> { - ServerHttpMessageWriter writer = this.writers.get(ServerSentEventHttpMessageWriter.class); + HttpMessageWriter writer = this.writers.get(ServerSentEventHttpMessageWriter.class); if (writer != null) { return writer; } @@ -288,13 +288,13 @@ public class ServerCodecConfigurer { */ public static class CustomCodecConfigurer { - private final List> typedReaders = new ArrayList<>(); + private final List> typedReaders = new ArrayList<>(); - private final List> typedWriters = new ArrayList<>(); + private final List> typedWriters = new ArrayList<>(); - private final List> objectReaders = new ArrayList<>(); + private final List> objectReaders = new ArrayList<>(); - private final List> objectWriters = new ArrayList<>(); + private final List> objectWriters = new ArrayList<>(); /** @@ -314,21 +314,21 @@ public class ServerCodecConfigurer { } /** - * Add a custom {@link ServerHttpMessageReader}. For readers of type + * Add a custom {@link HttpMessageReader}. For readers of type * {@link DecoderHttpMessageReader} consider using the shortcut * {@link #decoder(Decoder)} instead. */ - public void reader(ServerHttpMessageReader reader) { + public void reader(HttpMessageReader reader) { boolean canReadToObject = reader.canRead(ResolvableType.forClass(Object.class), null); (canReadToObject ? this.objectReaders : this.typedReaders).add(reader); } /** - * Add a custom {@link ServerHttpMessageWriter}. For readers of type + * Add a custom {@link HttpMessageWriter}. For readers of type * {@link EncoderHttpMessageWriter} consider using the shortcut * {@link #encoder(Encoder)} instead. */ - public void writer(ServerHttpMessageWriter writer) { + public void writer(HttpMessageWriter writer) { boolean canWriteObject = writer.canWrite(ResolvableType.forClass(Object.class), null); (canWriteObject ? this.objectWriters : this.typedWriters).add(writer); } @@ -336,19 +336,19 @@ public class ServerCodecConfigurer { // Internal methods for building a list of custom readers or writers... - private void addTypedReadersTo(List> result) { + private void addTypedReadersTo(List> result) { result.addAll(this.typedReaders); } - private void addObjectReadersTo(List> result) { + private void addObjectReadersTo(List> result) { result.addAll(this.objectReaders); } - private void addTypedWritersTo(List> result) { + private void addTypedWritersTo(List> result) { result.addAll(this.typedWriters); } - private void addObjectWritersTo(List> result) { + private void addObjectWritersTo(List> result) { result.addAll(this.objectWriters); } } diff --git a/spring-web/src/main/java/org/springframework/http/codec/ServerHttpMessageReader.java b/spring-web/src/main/java/org/springframework/http/codec/ServerHttpMessageReader.java deleted file mode 100644 index 1509b42ddd..0000000000 --- a/spring-web/src/main/java/org/springframework/http/codec/ServerHttpMessageReader.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2002-2017 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.codec; - -import java.util.Map; - -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import org.springframework.core.MethodParameter; -import org.springframework.core.ResolvableType; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.http.server.reactive.ServerHttpResponse; - -/** - * An extension of {@code HttpMessageReader} for decoding and reading the - * request body with extra information available on the server side. - * - * @author Sebastien Deleuze - * @author Rossen Stoyanchev - * @since 5.0 - */ -public interface ServerHttpMessageReader extends HttpMessageReader { - - /** - * Decode and read the request body to an object stream. - * - * @param actualType the actual type of the target method parameter; for - * annotated controllers, the {@link MethodParameter} can be accessed via - * {@link ResolvableType#getSource()}. - * @param elementType the type of Objects in the output stream - * @param request the current request - * @param response the current response - * @param hints additional information about how to read the body - * @return the decoded stream of elements - */ - Flux read(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, - ServerHttpResponse response, Map hints); - - /** - * Decode and read the request body to a single object. - * - * @param actualType the actual type of the target method parameter; for - * annotated controllers, the {@link MethodParameter} can be accessed via - * {@link ResolvableType#getSource()}. - * @param elementType the type of Objects in the output stream - * @param request the current request - * @param response the current response - * @param hints additional information about how to read the body - * @return the decoded stream of elements - */ - Mono readMono(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, - ServerHttpResponse response, Map hints); - -} diff --git a/spring-web/src/main/java/org/springframework/http/codec/ServerHttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/ServerHttpMessageWriter.java deleted file mode 100644 index 5758d728c5..0000000000 --- a/spring-web/src/main/java/org/springframework/http/codec/ServerHttpMessageWriter.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2002-2017 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.codec; - -import java.util.Map; - -import org.reactivestreams.Publisher; -import reactor.core.publisher.Mono; - -import org.springframework.core.MethodParameter; -import org.springframework.core.ResolvableType; -import org.springframework.http.MediaType; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.http.server.reactive.ServerHttpResponse; - -/** - * An extension of {@code HttpMessageWriter} for encoding and writing the - * response body with extra information available on the server side. - * - * @author Sebastien Deleuze - * @author Rossen Stoyanchev - * @since 5.0 - */ -public interface ServerHttpMessageWriter extends HttpMessageWriter { - - /** - * Encode and write the given object stream to the response. - * - * @param actualType the actual return type of the method that returned the - * value; for annotated controllers, the {@link MethodParameter} can be - * accessed via {@link ResolvableType#getSource()}. - * @param elementType the type of Objects in the input stream - * @param mediaType the content type to use, possibly {@code null} indicating - * the default content type of the writer should be used. - * @param request the current request - * @param response the current response - * @return a {@link Mono} that indicates completion of writing or error - */ - Mono write(Publisher inputStream, ResolvableType actualType, - ResolvableType elementType, MediaType mediaType, ServerHttpRequest request, - ServerHttpResponse response, Map hints); - -} diff --git a/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java b/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java index bfe2c42bcb..c280cb70f0 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java +++ b/spring-web/src/main/java/org/springframework/http/codec/ServerSentEventHttpMessageWriter.java @@ -37,14 +37,14 @@ import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; /** - * {@code ServerHttpMessageWriter} for {@code "text/event-stream"} responses. + * {@code HttpMessageWriter} for {@code "text/event-stream"} responses. * * @author Sebastien Deleuze * @author Arjen Poutsma * @author Rossen Stoyanchev * @since 5.0 */ -public class ServerSentEventHttpMessageWriter implements ServerHttpMessageWriter { +public class ServerSentEventHttpMessageWriter implements HttpMessageWriter { private static final List WRITABLE_MEDIA_TYPES = Collections.singletonList(MediaType.TEXT_EVENT_STREAM); diff --git a/spring-web/src/test/java/org/springframework/http/codec/ServerCodecConfigurerTests.java b/spring-web/src/test/java/org/springframework/http/codec/ServerCodecConfigurerTests.java index 09a008c9e6..b9ed7694d3 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/ServerCodecConfigurerTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/ServerCodecConfigurerTests.java @@ -60,7 +60,7 @@ public class ServerCodecConfigurerTests { @Test public void defaultReaders() throws Exception { - List> readers = this.configurer.getReaders(); + List> readers = this.configurer.getReaders(); assertEquals(8, readers.size()); assertEquals(ByteArrayDecoder.class, getNextDecoder(readers).getClass()); assertEquals(ByteBufferDecoder.class, getNextDecoder(readers).getClass()); @@ -74,7 +74,7 @@ public class ServerCodecConfigurerTests { @Test public void defaultWriters() throws Exception { - List> writers = this.configurer.getWriters(); + List> writers = this.configurer.getWriters(); assertEquals(9, writers.size()); assertEquals(ByteArrayEncoder.class, getNextEncoder(writers).getClass()); assertEquals(ByteBufferEncoder.class, getNextEncoder(writers).getClass()); @@ -96,8 +96,8 @@ public class ServerCodecConfigurerTests { when(customDecoder1.canDecode(ResolvableType.forClass(Object.class), null)).thenReturn(false); when(customDecoder2.canDecode(ResolvableType.forClass(Object.class), null)).thenReturn(true); - ServerHttpMessageReader customReader1 = mock(ServerHttpMessageReader.class); - ServerHttpMessageReader customReader2 = mock(ServerHttpMessageReader.class); + HttpMessageReader customReader1 = mock(HttpMessageReader.class); + HttpMessageReader customReader2 = mock(HttpMessageReader.class); when(customReader1.canRead(ResolvableType.forClass(Object.class), null)).thenReturn(false); when(customReader2.canRead(ResolvableType.forClass(Object.class), null)).thenReturn(true); @@ -108,7 +108,7 @@ public class ServerCodecConfigurerTests { this.configurer.customCodec().reader(customReader1); this.configurer.customCodec().reader(customReader2); - List> readers = this.configurer.getReaders(); + List> readers = this.configurer.getReaders(); assertEquals(12, readers.size()); assertEquals(ByteArrayDecoder.class, getNextDecoder(readers).getClass()); @@ -134,8 +134,8 @@ public class ServerCodecConfigurerTests { when(customEncoder1.canEncode(ResolvableType.forClass(Object.class), null)).thenReturn(false); when(customEncoder2.canEncode(ResolvableType.forClass(Object.class), null)).thenReturn(true); - ServerHttpMessageWriter customWriter1 = mock(ServerHttpMessageWriter.class); - ServerHttpMessageWriter customWriter2 = mock(ServerHttpMessageWriter.class); + HttpMessageWriter customWriter1 = mock(HttpMessageWriter.class); + HttpMessageWriter customWriter2 = mock(HttpMessageWriter.class); when(customWriter1.canWrite(ResolvableType.forClass(Object.class), null)).thenReturn(false); when(customWriter2.canWrite(ResolvableType.forClass(Object.class), null)).thenReturn(true); @@ -146,7 +146,7 @@ public class ServerCodecConfigurerTests { this.configurer.customCodec().writer(customWriter1); this.configurer.customCodec().writer(customWriter2); - List> writers = this.configurer.getWriters(); + List> writers = this.configurer.getWriters(); assertEquals(13, writers.size()); assertEquals(ByteArrayEncoder.class, getNextEncoder(writers).getClass()); @@ -173,8 +173,8 @@ public class ServerCodecConfigurerTests { when(customDecoder1.canDecode(ResolvableType.forClass(Object.class), null)).thenReturn(false); when(customDecoder2.canDecode(ResolvableType.forClass(Object.class), null)).thenReturn(true); - ServerHttpMessageReader customReader1 = mock(ServerHttpMessageReader.class); - ServerHttpMessageReader customReader2 = mock(ServerHttpMessageReader.class); + HttpMessageReader customReader1 = mock(HttpMessageReader.class); + HttpMessageReader customReader2 = mock(HttpMessageReader.class); when(customReader1.canRead(ResolvableType.forClass(Object.class), null)).thenReturn(false); when(customReader2.canRead(ResolvableType.forClass(Object.class), null)).thenReturn(true); @@ -187,7 +187,7 @@ public class ServerCodecConfigurerTests { this.configurer.registerDefaults(false); - List> readers = this.configurer.getReaders(); + List> readers = this.configurer.getReaders(); assertEquals(4, readers.size()); assertSame(customDecoder1, getNextDecoder(readers)); @@ -205,8 +205,8 @@ public class ServerCodecConfigurerTests { when(customEncoder1.canEncode(ResolvableType.forClass(Object.class), null)).thenReturn(false); when(customEncoder2.canEncode(ResolvableType.forClass(Object.class), null)).thenReturn(true); - ServerHttpMessageWriter customWriter1 = mock(ServerHttpMessageWriter.class); - ServerHttpMessageWriter customWriter2 = mock(ServerHttpMessageWriter.class); + HttpMessageWriter customWriter1 = mock(HttpMessageWriter.class); + HttpMessageWriter customWriter2 = mock(HttpMessageWriter.class); when(customWriter1.canWrite(ResolvableType.forClass(Object.class), null)).thenReturn(false); when(customWriter2.canWrite(ResolvableType.forClass(Object.class), null)).thenReturn(true); @@ -219,7 +219,7 @@ public class ServerCodecConfigurerTests { this.configurer.registerDefaults(false); - List> writers = this.configurer.getWriters(); + List> writers = this.configurer.getWriters(); assertEquals(4, writers.size()); assertSame(customEncoder1, getNextEncoder(writers)); @@ -264,13 +264,13 @@ public class ServerCodecConfigurerTests { } - private Decoder getNextDecoder(List> readers) { + private Decoder getNextDecoder(List> readers) { HttpMessageReader reader = readers.get(this.index.getAndIncrement()); assertEquals(DecoderHttpMessageReader.class, reader.getClass()); return ((DecoderHttpMessageReader) reader).getDecoder(); } - private Encoder getNextEncoder(List> writers) { + private Encoder getNextEncoder(List> writers) { HttpMessageWriter writer = writers.get(this.index.getAndIncrement()); assertEquals(EncoderHttpMessageWriter.class, writer.getClass()); return ((EncoderHttpMessageWriter) writer).getEncoder(); @@ -288,8 +288,8 @@ public class ServerCodecConfigurerTests { assertEquals(!textOnly, encoder.canEncode(forClass(String.class), MediaType.TEXT_EVENT_STREAM)); } - private void assertSseWriter(List> writers) { - ServerHttpMessageWriter writer = writers.get(this.index.getAndIncrement()); + private void assertSseWriter(List> writers) { + HttpMessageWriter writer = writers.get(this.index.getAndIncrement()); assertEquals(ServerSentEventHttpMessageWriter.class, writer.getClass()); Encoder encoder = ((ServerSentEventHttpMessageWriter) writer).getEncoder(); assertNotNull(encoder); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java index a833004b5b..b450bf727a 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageReaderArgumentResolver.java @@ -32,7 +32,7 @@ import org.springframework.core.ReactiveAdapterRegistry; import org.springframework.core.ResolvableType; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.http.MediaType; -import org.springframework.http.codec.ServerHttpMessageReader; +import org.springframework.http.codec.HttpMessageReader; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.util.Assert; @@ -48,7 +48,7 @@ import org.springframework.web.server.UnsupportedMediaTypeStatusException; /** * Abstract base class for argument resolvers that resolve method arguments - * by reading the request body with an {@link ServerHttpMessageReader}. + * by reading the request body with an {@link HttpMessageReader}. * *

Applies validation if the method argument is annotated with * {@code @javax.validation.Valid} or @@ -60,16 +60,16 @@ import org.springframework.web.server.UnsupportedMediaTypeStatusException; */ public abstract class AbstractMessageReaderArgumentResolver extends HandlerMethodArgumentResolverSupport { - private final List> messageReaders; + private final List> messageReaders; private final List supportedMediaTypes; /** - * Constructor with {@link ServerHttpMessageReader}'s and a {@link Validator}. + * Constructor with {@link HttpMessageReader}'s and a {@link Validator}. * @param readers readers to convert from the request body */ - protected AbstractMessageReaderArgumentResolver(List> readers) { + protected AbstractMessageReaderArgumentResolver(List> readers) { this(readers, new ReactiveAdapterRegistry()); } @@ -78,7 +78,7 @@ public abstract class AbstractMessageReaderArgumentResolver extends HandlerMetho * @param messageReaders readers to convert from the request body * @param adapterRegistry for adapting to other reactive types from Flux and Mono */ - protected AbstractMessageReaderArgumentResolver(List> messageReaders, + protected AbstractMessageReaderArgumentResolver(List> messageReaders, ReactiveAdapterRegistry adapterRegistry) { super(adapterRegistry); @@ -94,7 +94,7 @@ public abstract class AbstractMessageReaderArgumentResolver extends HandlerMetho /** * Return the configured message converters. */ - public List> getMessageReaders() { + public List> getMessageReaders() { return this.messageReaders; } @@ -113,7 +113,7 @@ public abstract class AbstractMessageReaderArgumentResolver extends HandlerMetho mediaType = MediaType.APPLICATION_OCTET_STREAM; } - for (ServerHttpMessageReader reader : getMessageReaders()) { + for (HttpMessageReader reader : getMessageReaders()) { if (reader.canRead(elementType, mediaType)) { Map readHints = Collections.emptyMap(); if (adapter != null && adapter.isMultiValue()) { diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java index ba3a7ee588..dd332aeb6f 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractMessageWriterResultHandler.java @@ -27,7 +27,7 @@ import org.springframework.core.ReactiveAdapter; import org.springframework.core.ReactiveAdapterRegistry; import org.springframework.core.ResolvableType; import org.springframework.http.MediaType; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.util.Assert; @@ -38,24 +38,24 @@ import org.springframework.web.server.ServerWebExchange; /** * Abstract base class for result handlers that handle return values by writing - * to the response with {@link ServerHttpMessageWriter}. + * to the response with {@link HttpMessageWriter}. * * @author Rossen Stoyanchev * @since 5.0 */ public abstract class AbstractMessageWriterResultHandler extends HandlerResultHandlerSupport { - private final List> messageWriters; + private final List> messageWriters; /** - * Constructor with {@link ServerHttpMessageWriter}s and a + * Constructor with {@link HttpMessageWriter}s and a * {@code RequestedContentTypeResolver}. * * @param messageWriters for serializing Objects to the response body stream * @param contentTypeResolver for resolving the requested content type */ - protected AbstractMessageWriterResultHandler(List> messageWriters, + protected AbstractMessageWriterResultHandler(List> messageWriters, RequestedContentTypeResolver contentTypeResolver) { super(contentTypeResolver); @@ -71,7 +71,7 @@ public abstract class AbstractMessageWriterResultHandler extends HandlerResultHa * @param adapterRegistry for adapting other reactive types (e.g. rx.Observable, * rx.Single, etc.) to Flux or Mono */ - protected AbstractMessageWriterResultHandler(List> messageWriters, + protected AbstractMessageWriterResultHandler(List> messageWriters, RequestedContentTypeResolver contentTypeResolver, ReactiveAdapterRegistry adapterRegistry) { @@ -84,7 +84,7 @@ public abstract class AbstractMessageWriterResultHandler extends HandlerResultHa /** * Return the configured message converters. */ - public List> getMessageWriters() { + public List> getMessageWriters() { return this.messageWriters; } @@ -115,7 +115,7 @@ public abstract class AbstractMessageWriterResultHandler extends HandlerResultHa ServerHttpResponse response = exchange.getResponse(); MediaType bestMediaType = selectMediaType(exchange, () -> getProducibleMediaTypes(elementType)); if (bestMediaType != null) { - for (ServerHttpMessageWriter writer : getMessageWriters()) { + for (HttpMessageWriter writer : getMessageWriters()) { if (writer.canWrite(elementType, bestMediaType)) { return writer.write((Publisher) publisher, bodyType, elementType, bestMediaType, request, response, Collections.emptyMap()); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java index 7fd0576083..d4e36e8c29 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolver.java @@ -24,7 +24,7 @@ import org.springframework.core.MethodParameter; import org.springframework.core.ReactiveAdapterRegistry; import org.springframework.http.HttpEntity; import org.springframework.http.RequestEntity; -import org.springframework.http.codec.ServerHttpMessageReader; +import org.springframework.http.codec.HttpMessageReader; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.web.reactive.BindingContext; import org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver; @@ -40,7 +40,7 @@ import org.springframework.web.server.ServerWebExchange; */ public class HttpEntityArgumentResolver extends AbstractMessageReaderArgumentResolver { - public HttpEntityArgumentResolver(List> readers, + public HttpEntityArgumentResolver(List> readers, ReactiveAdapterRegistry registry) { super(readers, registry); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java index 56ce5977d6..90b4c77010 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolver.java @@ -22,7 +22,7 @@ import reactor.core.publisher.Mono; import org.springframework.core.MethodParameter; import org.springframework.core.ReactiveAdapterRegistry; -import org.springframework.http.codec.ServerHttpMessageReader; +import org.springframework.http.codec.HttpMessageReader; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.reactive.BindingContext; import org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver; @@ -45,7 +45,7 @@ import org.springframework.web.server.ServerWebInputException; */ public class RequestBodyArgumentResolver extends AbstractMessageReaderArgumentResolver { - public RequestBodyArgumentResolver(List> readers, + public RequestBodyArgumentResolver(List> readers, ReactiveAdapterRegistry registry) { super(readers, registry); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java index 9a062d5e46..bed81fff75 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/RequestMappingHandlerAdapter.java @@ -46,7 +46,7 @@ import org.springframework.core.codec.ResourceDecoder; import org.springframework.core.codec.StringDecoder; import org.springframework.http.codec.DecoderHttpMessageReader; import org.springframework.http.codec.ServerCodecConfigurer; -import org.springframework.http.codec.ServerHttpMessageReader; +import org.springframework.http.codec.HttpMessageReader; import org.springframework.util.Assert; import org.springframework.util.ReflectionUtils; import org.springframework.web.bind.annotation.InitBinder; @@ -78,7 +78,7 @@ public class RequestMappingHandlerAdapter implements HandlerAdapter, Application private static final Log logger = LogFactory.getLog(RequestMappingHandlerAdapter.class); - private final List> messageReaders = new ArrayList<>(10); + private final List> messageReaders = new ArrayList<>(10); private WebBindingInitializer webBindingInitializer; @@ -131,7 +131,7 @@ public class RequestMappingHandlerAdapter implements HandlerAdapter, Application * including JSON encoding . * @see ServerCodecConfigurer */ - public void setMessageReaders(List> messageReaders) { + public void setMessageReaders(List> messageReaders) { this.messageReaders.clear(); this.messageReaders.addAll(messageReaders); } @@ -139,7 +139,7 @@ public class RequestMappingHandlerAdapter implements HandlerAdapter, Application /** * Return the configured HTTP message readers. */ - public List> getMessageReaders() { + public List> getMessageReaders() { return this.messageReaders; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java index cc9a6d5c65..d0ccd3c65b 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java @@ -23,7 +23,7 @@ import reactor.core.publisher.Mono; import org.springframework.core.MethodParameter; import org.springframework.core.ReactiveAdapterRegistry; import org.springframework.core.annotation.AnnotationUtils; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.reactive.HandlerResult; import org.springframework.web.reactive.HandlerResultHandler; @@ -34,7 +34,7 @@ import org.springframework.web.server.ServerWebExchange; /** * {@code HandlerResultHandler} that handles return values from methods annotated * with {@code @ResponseBody} writing to the body of the request or response with - * an {@link ServerHttpMessageWriter}. + * an {@link HttpMessageWriter}. * *

By default the order for this result handler is set to 100. As it detects * the presence of {@code @ResponseBody} it should be ordered after result @@ -56,7 +56,7 @@ public class ResponseBodyResultHandler extends AbstractMessageWriterResultHandle * @param writers writers for serializing to the response body * @param resolver to determine the requested content type */ - public ResponseBodyResultHandler(List> writers, + public ResponseBodyResultHandler(List> writers, RequestedContentTypeResolver resolver) { this(writers, resolver, new ReactiveAdapterRegistry()); @@ -68,7 +68,7 @@ public class ResponseBodyResultHandler extends AbstractMessageWriterResultHandle * @param resolver to determine the requested content type * @param registry for adaptation to reactive types */ - public ResponseBodyResultHandler(List> writers, + public ResponseBodyResultHandler(List> writers, RequestedContentTypeResolver resolver, ReactiveAdapterRegistry registry) { super(writers, resolver, registry); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java index 30bef89cc4..6470f5d1d6 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandler.java @@ -30,7 +30,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.util.Assert; import org.springframework.web.reactive.HandlerResult; import org.springframework.web.reactive.HandlerResultHandler; @@ -57,7 +57,7 @@ public class ResponseEntityResultHandler extends AbstractMessageWriterResultHand * @param writers writers for serializing to the response body * @param resolver to determine the requested content type */ - public ResponseEntityResultHandler(List> writers, + public ResponseEntityResultHandler(List> writers, RequestedContentTypeResolver resolver) { this(writers, resolver, new ReactiveAdapterRegistry()); @@ -69,7 +69,7 @@ public class ResponseEntityResultHandler extends AbstractMessageWriterResultHand * @param resolver to determine the requested content type * @param registry for adaptation to reactive types */ - public ResponseEntityResultHandler(List> writers, + public ResponseEntityResultHandler(List> writers, RequestedContentTypeResolver resolver, ReactiveAdapterRegistry registry) { super(writers, resolver, registry); diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebFluxConfigurationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebFluxConfigurationTests.java index 8a373ab0f8..403ffd2c15 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebFluxConfigurationTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebFluxConfigurationTests.java @@ -30,7 +30,7 @@ import org.mockito.MockitoAnnotations; import org.springframework.context.support.StaticApplicationContext; import org.springframework.core.convert.ConversionService; import org.springframework.format.FormatterRegistry; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.http.codec.ServerCodecConfigurer; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; import org.springframework.web.bind.support.ConfigurableWebBindingInitializer; @@ -61,7 +61,7 @@ public class DelegatingWebFluxConfigurationTests { private ArgumentCaptor codecsConfigurer; @Captor - private ArgumentCaptor>> writers; + private ArgumentCaptor>> writers; @Captor private ArgumentCaptor formatterRegistry; diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebFluxConfigurationSupportTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebFluxConfigurationSupportTests.java index db3efd0ac1..715f569720 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebFluxConfigurationSupportTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/config/WebFluxConfigurationSupportTests.java @@ -34,8 +34,8 @@ import org.springframework.core.codec.StringDecoder; import org.springframework.core.convert.ConversionService; import org.springframework.core.io.Resource; import org.springframework.http.MediaType; -import org.springframework.http.codec.ServerHttpMessageReader; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageReader; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.http.codec.ServerCodecConfigurer; import org.springframework.http.codec.json.Jackson2JsonEncoder; import org.springframework.http.codec.xml.Jaxb2XmlDecoder; @@ -126,7 +126,7 @@ public class WebFluxConfigurationSupportTests { RequestMappingHandlerAdapter adapter = context.getBean(name, RequestMappingHandlerAdapter.class); assertNotNull(adapter); - List> readers = adapter.getMessageReaders(); + List> readers = adapter.getMessageReaders(); assertEquals(8, readers.size()); assertHasMessageReader(readers, byte[].class, APPLICATION_OCTET_STREAM); @@ -159,7 +159,7 @@ public class WebFluxConfigurationSupportTests { RequestMappingHandlerAdapter adapter = context.getBean(name, RequestMappingHandlerAdapter.class); assertNotNull(adapter); - List> messageReaders = adapter.getMessageReaders(); + List> messageReaders = adapter.getMessageReaders(); assertEquals(2, messageReaders.size()); assertHasMessageReader(messageReaders, String.class, TEXT_PLAIN); @@ -176,7 +176,7 @@ public class WebFluxConfigurationSupportTests { assertEquals(0, handler.getOrder()); - List> writers = handler.getMessageWriters(); + List> writers = handler.getMessageWriters(); assertEquals(9, writers.size()); assertHasMessageWriter(writers, byte[].class, APPLICATION_OCTET_STREAM); @@ -202,7 +202,7 @@ public class WebFluxConfigurationSupportTests { assertEquals(100, handler.getOrder()); - List> writers = handler.getMessageWriters(); + List> writers = handler.getMessageWriters(); assertEquals(9, writers.size()); assertHasMessageWriter(writers, byte[].class, APPLICATION_OCTET_STREAM); @@ -258,12 +258,12 @@ public class WebFluxConfigurationSupportTests { } - private void assertHasMessageReader(List> readers, Class clazz, MediaType mediaType) { + private void assertHasMessageReader(List> readers, Class clazz, MediaType mediaType) { ResolvableType type = ResolvableType.forClass(clazz); assertTrue(readers.stream().anyMatch(c -> mediaType == null || c.canRead(type, mediaType))); } - private void assertHasMessageWriter(List> writers, Class clazz, MediaType mediaType) { + private void assertHasMessageWriter(List> writers, Class clazz, MediaType mediaType) { ResolvableType type = ResolvableType.forClass(clazz); assertTrue(writers.stream().anyMatch(c -> mediaType == null || c.canWrite(type, mediaType))); } diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java index 05bcc3d4c1..8b687439ae 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java @@ -39,7 +39,7 @@ import org.springframework.core.codec.StringDecoder; import org.springframework.http.HttpEntity; import org.springframework.http.RequestEntity; import org.springframework.http.codec.DecoderHttpMessageReader; -import org.springframework.http.codec.ServerHttpMessageReader; +import org.springframework.http.codec.HttpMessageReader; import org.springframework.mock.http.server.reactive.test.MockServerWebExchange; import org.springframework.util.ObjectUtils; import org.springframework.web.method.ResolvableMethod; @@ -73,7 +73,7 @@ public class HttpEntityArgumentResolverTests { private HttpEntityArgumentResolver createResolver() { - List> readers = new ArrayList<>(); + List> readers = new ArrayList<>(); readers.add(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes(true))); return new HttpEntityArgumentResolver(readers, new ReactiveAdapterRegistry()); } diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java index 7cc280bcc4..46e451e9b4 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageReaderArgumentResolverTests.java @@ -43,7 +43,7 @@ import org.springframework.core.ResolvableType; import org.springframework.core.codec.Decoder; import org.springframework.http.MediaType; import org.springframework.http.codec.DecoderHttpMessageReader; -import org.springframework.http.codec.ServerHttpMessageReader; +import org.springframework.http.codec.HttpMessageReader; import org.springframework.http.codec.json.Jackson2JsonDecoder; import org.springframework.validation.Errors; import org.springframework.validation.Validator; @@ -302,7 +302,7 @@ public class MessageReaderArgumentResolverTests { @SuppressWarnings("Convert2MethodRef") private AbstractMessageReaderArgumentResolver resolver(Decoder... decoders) { - List> readers = new ArrayList<>(); + List> readers = new ArrayList<>(); Arrays.asList(decoders).forEach(decoder -> readers.add(new DecoderHttpMessageReader<>(decoder))); return new AbstractMessageReaderArgumentResolver(readers) { @Override diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java index 5856be3f36..2b89311ae9 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageWriterResultHandlerTests.java @@ -43,7 +43,7 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.http.codec.EncoderHttpMessageWriter; import org.springframework.http.codec.ResourceHttpMessageWriter; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.http.codec.json.Jackson2JsonEncoder; import org.springframework.http.codec.xml.Jaxb2XmlEncoder; import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest; @@ -71,8 +71,8 @@ public class MessageWriterResultHandlerTests { private final MockServerWebExchange exchange = MockServerHttpRequest.get("/path").toExchange(); - private AbstractMessageWriterResultHandler initResultHandler(ServerHttpMessageWriter... writers) { - List> writerList; + private AbstractMessageWriterResultHandler initResultHandler(HttpMessageWriter... writers) { + List> writerList; if (ObjectUtils.isEmpty(writers)) { writerList = new ArrayList<>(); writerList.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); @@ -141,7 +141,7 @@ public class MessageWriterResultHandlerTests { ByteArrayOutputStream body = new ByteArrayOutputStream(); MethodParameter type = on(TestController.class).resolveReturnType(OutputStream.class); - ServerHttpMessageWriter writer = new EncoderHttpMessageWriter<>(new ByteBufferEncoder()); + HttpMessageWriter writer = new EncoderHttpMessageWriter<>(new ByteBufferEncoder()); Mono mono = initResultHandler(writer).writeBody(body, type, this.exchange); StepVerifier.create(mono).expectError(IllegalStateException.class).verify(); diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java index 880e64f8e5..f9e993bac4 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java @@ -35,7 +35,7 @@ import org.springframework.core.MethodParameter; import org.springframework.core.ReactiveAdapterRegistry; import org.springframework.core.codec.StringDecoder; import org.springframework.http.codec.DecoderHttpMessageReader; -import org.springframework.http.codec.ServerHttpMessageReader; +import org.springframework.http.codec.HttpMessageReader; import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.method.ResolvableMethod; @@ -66,7 +66,7 @@ public class RequestBodyArgumentResolverTests { @Before public void setup() { - List> readers = new ArrayList<>(); + List> readers = new ArrayList<>(); readers.add(new DecoderHttpMessageReader<>(StringDecoder.allMimeTypes(true))); this.resolver = new RequestBodyArgumentResolver(readers, new ReactiveAdapterRegistry()); } diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java index 8af0ce73aa..c8bb97cba8 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandlerTests.java @@ -30,7 +30,7 @@ import org.springframework.core.codec.ByteBufferEncoder; import org.springframework.core.codec.CharSequenceEncoder; import org.springframework.http.codec.EncoderHttpMessageWriter; import org.springframework.http.codec.ResourceHttpMessageWriter; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.http.codec.json.Jackson2JsonEncoder; import org.springframework.http.codec.xml.Jaxb2XmlEncoder; import org.springframework.stereotype.Controller; @@ -64,7 +64,7 @@ public class ResponseBodyResultHandlerTests { @Before public void setup() throws Exception { - List> writerList = new ArrayList<>(5); + List> writerList = new ArrayList<>(5); writerList.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder())); writerList.add(new EncoderHttpMessageWriter<>(CharSequenceEncoder.allMimeTypes())); writerList.add(new ResourceHttpMessageWriter()); diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java index dcb4cecb20..b133379379 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java @@ -44,7 +44,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.http.codec.EncoderHttpMessageWriter; import org.springframework.http.codec.ResourceHttpMessageWriter; -import org.springframework.http.codec.ServerHttpMessageWriter; +import org.springframework.http.codec.HttpMessageWriter; import org.springframework.http.codec.json.Jackson2JsonEncoder; import org.springframework.http.codec.xml.Jaxb2XmlEncoder; import org.springframework.mock.http.server.reactive.test.MockServerWebExchange; @@ -83,8 +83,8 @@ public class ResponseEntityResultHandlerTests { this.resultHandler = createHandler(); } - private ResponseEntityResultHandler createHandler(ServerHttpMessageWriter... writers) { - List> writerList; + private ResponseEntityResultHandler createHandler(HttpMessageWriter... writers) { + List> writerList; if (ObjectUtils.isEmpty(writers)) { writerList = new ArrayList<>(); writerList.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder()));