Add ClientOptions support in ReactorClientHttpConnector
Default ClientOptions enable SSL support. Issue: SPR-14593
This commit is contained in:
committed by
Brian Clozel
parent
e05a13841f
commit
64bc0ca744
@@ -22,6 +22,7 @@ import java.util.function.Function;
|
|||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
|
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
|
import reactor.ipc.netty.config.ClientOptions;
|
||||||
import reactor.ipc.netty.http.HttpException;
|
import reactor.ipc.netty.http.HttpException;
|
||||||
import reactor.ipc.netty.http.HttpInbound;
|
import reactor.ipc.netty.http.HttpInbound;
|
||||||
|
|
||||||
@@ -34,11 +35,28 @@ import reactor.ipc.netty.http.HttpInbound;
|
|||||||
*/
|
*/
|
||||||
public class ReactorClientHttpConnector implements ClientHttpConnector {
|
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
|
@Override
|
||||||
public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri,
|
public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri,
|
||||||
Function<? super ClientHttpRequest, Mono<Void>> requestCallback) {
|
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()),
|
.request(io.netty.handler.codec.http.HttpMethod.valueOf(method.name()),
|
||||||
uri.toString(),
|
uri.toString(),
|
||||||
httpClientRequest -> requestCallback
|
httpClientRequest -> requestCallback
|
||||||
|
|||||||
Reference in New Issue
Block a user