Skip to content

Commit 129d7be

Browse files
committed
Polishing
1 parent d94ce0a commit 129d7be

File tree

5 files changed

+33
-43
lines changed

5 files changed

+33
-43
lines changed

spring-web-reactive/src/main/java/org/springframework/web/reactive/support/AbstractServletHttpHandlerAdapterInitializer.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@
3838
* @author Arjen Poutsma
3939
* @since 5.0
4040
*/
41-
public abstract class AbstractServletHttpHandlerAdapterInitializer
42-
implements WebApplicationInitializer {
41+
public abstract class AbstractServletHttpHandlerAdapterInitializer implements WebApplicationInitializer {
4342

4443
/**
4544
* The default servlet name. Can be customized by overriding {@link #getServletName}.
@@ -69,18 +68,16 @@ protected void registerHandlerAdapter(ServletContext servletContext) {
6968

7069
HttpHandler httpHandler = createHttpHandler();
7170
Assert.notNull(httpHandler,
72-
"createHttpHandler() did not return a HttpHandler for servlet ["
73-
+ servletName + "]");
71+
"createHttpHandler() did not return a HttpHandler for servlet [" + servletName + "]");
7472

7573
ServletHttpHandlerAdapter servlet = createServlet(httpHandler);
7674
Assert.notNull(servlet,
77-
"createHttpHandler() did not return a ServletHttpHandlerAdapter for servlet ["
78-
+ servletName + "]");
75+
"createHttpHandler() did not return a ServletHttpHandlerAdapter for servlet [" + servletName + "]");
7976

8077
ServletRegistration.Dynamic registration = servletContext.addServlet(servletName, servlet);
8178
Assert.notNull(registration,
8279
"Failed to register servlet with name '" + servletName + "'." +
83-
"Check if there is another servlet registered under the same name.");
80+
"Check if there is another servlet registered under the same name.");
8481

8582
registration.setLoadOnStartup(1);
8683
registration.addMapping(getServletMappings());

spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,25 @@
1919
import java.net.URI;
2020
import java.util.function.Function;
2121

22-
import org.springframework.http.HttpMethod;
23-
2422
import reactor.core.publisher.Mono;
2523
import reactor.ipc.netty.config.ClientOptions;
2624
import reactor.ipc.netty.http.HttpException;
2725
import reactor.ipc.netty.http.HttpInbound;
2826

27+
import org.springframework.http.HttpMethod;
28+
2929
/**
3030
* Reactor-Netty implementation of {@link ClientHttpConnector}
3131
*
3232
* @author Brian Clozel
33-
* @see reactor.ipc.netty.http.HttpClient
3433
* @since 5.0
34+
* @see reactor.ipc.netty.http.HttpClient
3535
*/
3636
public class ReactorClientHttpConnector implements ClientHttpConnector {
3737

3838
private final ClientOptions clientOptions;
3939

40+
4041
/**
4142
* Create a Reactor Netty {@link ClientHttpConnector} with default {@link ClientOptions}
4243
* and SSL support enabled.
@@ -52,6 +53,7 @@ public ReactorClientHttpConnector(ClientOptions clientOptions) {
5253
this.clientOptions = clientOptions;
5354
}
5455

56+
5557
@Override
5658
public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri,
5759
Function<? super ClientHttpRequest, Mono<Void>> requestCallback) {
@@ -66,4 +68,4 @@ public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri,
6668
.map(httpInbound -> new ReactorClientHttpResponse(httpInbound));
6769
}
6870

69-
}
71+
}

spring-web/src/main/java/org/springframework/http/codec/AbstractServerHttpMessageWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public AbstractServerHttpMessageWriter(HttpMessageWriter<T> writer) {
4747
this.writer = writer;
4848
}
4949

50+
5051
@Override
5152
public boolean canWrite(ResolvableType elementType, MediaType mediaType) {
5253
return this.writer.canWrite(elementType, mediaType);
@@ -78,14 +79,13 @@ public Mono<Void> write(Publisher<? extends T> inputStream, ResolvableType strea
7879
/**
7980
* Invoked before writing the response to resolve hints by
8081
* {@link #write(Publisher, ResolvableType, ResolvableType, MediaType, ServerHttpRequest, ServerHttpResponse, Map)}.
81-
*
8282
* @param streamType the original type used for the method return value. For annotation
8383
* based controllers, the {@link MethodParameter} is available via {@link ResolvableType#getSource()}.
8484
* @param elementType the stream element type to process
8585
* @param mediaType the content type to use when writing. May be {@code null} to
8686
* indicate that the default content type of the converter must be used.
8787
* @param request the current HTTP request
88-
* @return Additional information about how to write the body
88+
* @return additional information about how to write the body
8989
*/
9090
protected abstract Map<String, Object> resolveWriteHints(ResolvableType streamType, ResolvableType elementType,
9191
MediaType mediaType, ServerHttpRequest request);

spring-web/src/main/java/org/springframework/http/server/reactive/ReactorHttpHandlerAdapter.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,15 @@
1818

1919
import java.util.function.Function;
2020

21+
import io.netty.handler.codec.http.HttpResponseStatus;
2122
import org.apache.commons.logging.Log;
23+
import org.apache.commons.logging.LogFactory;
2224
import reactor.core.publisher.Mono;
2325
import reactor.ipc.netty.http.HttpChannel;
2426

25-
import org.apache.commons.logging.LogFactory;
2627
import org.springframework.core.io.buffer.NettyDataBufferFactory;
2728
import org.springframework.util.Assert;
2829

29-
import io.netty.handler.codec.http.HttpResponseStatus;
30-
3130
/**
3231
* Adapt {@link HttpHandler} to the Reactor Netty channel handling function.
3332
*
@@ -43,7 +42,7 @@ public class ReactorHttpHandlerAdapter implements Function<HttpChannel, Mono<Voi
4342

4443

4544
public ReactorHttpHandlerAdapter(HttpHandler httpHandler) {
46-
Assert.notNull(httpHandler, "'httpHandler' is required.");
45+
Assert.notNull(httpHandler, "HttpHandler is required");
4746
this.httpHandler = httpHandler;
4847
}
4948

spring-web/src/main/java/org/springframework/web/client/reactive/WebClient.java

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,13 @@
8686
*/
8787
public final class WebClient {
8888

89-
private static final ClassLoader classLoader = WebClient.class.getClassLoader();
89+
private static final boolean jackson2Present =
90+
ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper", WebClient.class.getClassLoader()) &&
91+
ClassUtils.isPresent("com.fasterxml.jackson.core.JsonGenerator", WebClient.class.getClassLoader());
9092

91-
private static final boolean jackson2Present = ClassUtils
92-
.isPresent("com.fasterxml.jackson.databind.ObjectMapper", classLoader)
93-
&& ClassUtils.isPresent("com.fasterxml.jackson.core.JsonGenerator",
94-
classLoader);
93+
private static final boolean jaxb2Present =
94+
ClassUtils.isPresent("javax.xml.bind.Binder", WebClient.class.getClassLoader());
9595

96-
private static final boolean jaxb2Present = ClassUtils
97-
.isPresent("javax.xml.bind.Binder", classLoader);
9896

9997
private ClientHttpConnector clientHttpConnector;
10098

@@ -107,15 +105,13 @@ public final class WebClient {
107105
* Create a {@code WebClient} instance, using the {@link ClientHttpConnector}
108106
* implementation given as an argument to drive the underlying
109107
* implementation.
110-
*
111108
* Register by default the following Encoders and Decoders:
112109
* <ul>
113110
* <li>{@link ByteBufferEncoder} / {@link ByteBufferDecoder}</li>
114111
* <li>{@link CharSequenceEncoder} / {@link StringDecoder}</li>
115112
* <li>{@link Jaxb2XmlEncoder} / {@link Jaxb2XmlDecoder}</li>
116113
* <li>{@link Jackson2JsonEncoder} / {@link Jackson2JsonDecoder}</li>
117114
* </ul>
118-
*
119115
* @param clientHttpConnector the {@code ClientHttpRequestFactory} to use
120116
*/
121117
public WebClient(ClientHttpConnector clientHttpConnector) {
@@ -124,8 +120,9 @@ public WebClient(ClientHttpConnector clientHttpConnector) {
124120
this.webClientConfig.setResponseErrorHandler(new DefaultResponseErrorHandler());
125121
}
126122

123+
127124
/**
128-
* Adds default HTTP message readers.
125+
* Add default HTTP message readers.
129126
*/
130127
protected final void addDefaultHttpMessageReaders(List<HttpMessageReader<?>> messageReaders) {
131128
messageReaders.add(new DecoderHttpMessageReader<>(new ByteBufferDecoder()));
@@ -140,7 +137,7 @@ protected final void addDefaultHttpMessageReaders(List<HttpMessageReader<?>> mes
140137
}
141138

142139
/**
143-
* Adds default HTTP message writers.
140+
* Add default HTTP message writers.
144141
*/
145142
protected final void addDefaultHttpMessageWriters(List<HttpMessageWriter<?>> messageWriters) {
146143
messageWriters.add(new EncoderHttpMessageWriter<>(new ByteBufferEncoder()));
@@ -187,19 +184,17 @@ public void setInterceptors(List<ClientHttpRequestInterceptor> interceptors) {
187184
Collections.unmodifiableList(interceptors) : Collections.emptyList());
188185
}
189186

187+
190188
/**
191189
* Perform the actual HTTP request/response exchange
192-
*
193-
* <p>
194-
* Requesting from the exposed {@code Flux} will result in:
190+
* <p>Requesting from the exposed {@code Flux} will result in:
195191
* <ul>
196192
* <li>building the actual HTTP request using the provided {@code ClientWebRequestBuilder}</li>
197193
* <li>encoding the HTTP request body with the configured {@code HttpMessageWriter}s</li>
198194
* <li>returning the response with a publisher of the body</li>
199195
* </ul>
200196
*/
201197
public WebResponseActions perform(ClientWebRequestBuilder builder) {
202-
203198
ClientWebRequest clientWebRequest = builder.build();
204199
DefaultClientHttpRequestInterceptionChain interception =
205200
new DefaultClientHttpRequestInterceptionChain(this.clientHttpConnector,
@@ -214,14 +209,14 @@ public WebResponseActions perform(ClientWebRequestBuilder builder) {
214209
public void doWithStatus(Consumer<HttpStatus> consumer) {
215210
clientResponse.doOnNext(clientHttpResponse -> consumer.accept(clientHttpResponse.getStatusCode()));
216211
}
217-
218212
@Override
219213
public <T> T extract(ResponseExtractor<T> extractor) {
220214
return extractor.extract(clientResponse, webClientConfig);
221215
}
222216
};
223217
}
224218

219+
225220
protected class DefaultWebClientConfig implements WebClientConfig {
226221

227222
private List<HttpMessageReader<?>> messageReaders;
@@ -230,7 +225,6 @@ protected class DefaultWebClientConfig implements WebClientConfig {
230225

231226
private ResponseErrorHandler responseErrorHandler;
232227

233-
234228
public DefaultWebClientConfig() {
235229
this.messageReaders = new ArrayList<>();
236230
addDefaultHttpMessageReaders(this.messageReaders);
@@ -266,13 +260,13 @@ public void setResponseErrorHandler(ResponseErrorHandler responseErrorHandler) {
266260
}
267261
}
268262

263+
269264
protected class DefaultRequestCallback implements Function<ClientHttpRequest, Mono<Void>> {
270265

271266
private final ClientWebRequest clientWebRequest;
272267

273268
private final List<Consumer<? super HttpMessage>> requestCustomizers;
274269

275-
276270
public DefaultRequestCallback(ClientWebRequest clientWebRequest,
277271
List<Consumer<? super HttpMessage>> requestCustomizers) {
278272
this.clientWebRequest = clientWebRequest;
@@ -303,9 +297,8 @@ public Mono<Void> apply(ClientHttpRequest clientHttpRequest) {
303297
}
304298

305299
@SuppressWarnings({"unchecked", "rawtypes"})
306-
protected Mono<Void> writeRequestBody(Publisher<?> content,
307-
ResolvableType requestType, ClientHttpRequest request,
308-
List<HttpMessageWriter<?>> messageWriters) {
300+
protected Mono<Void> writeRequestBody(Publisher<?> content, ResolvableType requestType,
301+
ClientHttpRequest request, List<HttpMessageWriter<?>> messageWriters) {
309302

310303
MediaType contentType = request.getHeaders().getContentType();
311304
Optional<HttpMessageWriter<?>> messageWriter = resolveWriter(messageWriters, requestType, contentType);
@@ -324,6 +317,7 @@ protected Optional<HttpMessageWriter<?>> resolveWriter(List<HttpMessageWriter<?>
324317
}
325318
}
326319

320+
327321
protected class DefaultClientHttpRequestInterceptionChain implements ClientHttpRequestInterceptionChain {
328322

329323
private final ClientHttpConnector connector;
@@ -337,10 +331,9 @@ protected class DefaultClientHttpRequestInterceptionChain implements ClientHttpR
337331
private int index;
338332

339333
public DefaultClientHttpRequestInterceptionChain(ClientHttpConnector connector,
340-
List<ClientHttpRequestInterceptor> interceptors,
341-
ClientWebRequest clientWebRequest) {
334+
List<ClientHttpRequestInterceptor> interceptors, ClientWebRequest clientWebRequest) {
342335

343-
Assert.notNull(connector, "'connector' should not be null");
336+
Assert.notNull(connector, "ClientHttpConnector should not be null");
344337
this.connector = connector;
345338
this.interceptors = interceptors;
346339
this.clientWebRequest = clientWebRequest;
@@ -364,7 +357,6 @@ public Mono<ClientHttpResponse> intercept(HttpMethod method, URI uri,
364357
new DefaultRequestCallback(this.clientWebRequest, this.requestCustomizers));
365358
}
366359
}
367-
368360
}
369361

370-
}
362+
}

0 commit comments

Comments
 (0)