Add ClientOptions support in ReactorClientHttpConnector

Default ClientOptions enable SSL support.

Issue: SPR-14593
This commit is contained in:
Erik Olsson 2016-08-17 18:07:47 +02:00 committed by Brian Clozel
parent e05a13841f
commit 64bc0ca744
1 changed files with 19 additions and 1 deletions

View File

@ -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<ClientHttpResponse> connect(HttpMethod method, URI uri,
Function<? super ClientHttpRequest, Mono<Void>> 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