From 64bc0ca744781af2bf96412ced0f439fc98ee00d Mon Sep 17 00:00:00 2001 From: Erik Olsson Date: Wed, 17 Aug 2016 18:07:47 +0200 Subject: [PATCH] Add ClientOptions support in ReactorClientHttpConnector Default ClientOptions enable SSL support. Issue: SPR-14593 --- .../reactive/ReactorClientHttpConnector.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java b/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java index eec37827784..46f8b5a03d4 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java @@ -22,6 +22,7 @@ import java.util.function.Function; import org.springframework.http.HttpMethod; import reactor.core.publisher.Mono; +import reactor.ipc.netty.config.ClientOptions; import reactor.ipc.netty.http.HttpException; import reactor.ipc.netty.http.HttpInbound; @@ -34,11 +35,28 @@ import reactor.ipc.netty.http.HttpInbound; */ public class ReactorClientHttpConnector implements ClientHttpConnector { + private final ClientOptions clientOptions; + + /** + * Create a Reactor Netty {@link ClientHttpConnector} with default {@link ClientOptions} + * and SSL support enabled. + */ + public ReactorClientHttpConnector() { + this(ClientOptions.create().sslSupport()); + } + + /** + * Create a Reactor Netty {@link ClientHttpConnector} with the given {@link ClientOptions} + */ + public ReactorClientHttpConnector(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + @Override public Mono connect(HttpMethod method, URI uri, Function> requestCallback) { - return reactor.ipc.netty.http.HttpClient.create(uri.toString()) + return reactor.ipc.netty.http.HttpClient.create(this.clientOptions) .request(io.netty.handler.codec.http.HttpMethod.valueOf(method.name()), uri.toString(), httpClientRequest -> requestCallback