2016-08-15 2 views
0

Я пытаюсь познакомиться с проектом Project Project Reactor (https://projectreactor.io/) и создал небольшое приложение, чтобы сделать REST-вызовы другой службе через SSL. Я не могу найти способ настроить org.springframework.web.client.reactive.WebClient для выполнения запросов по SSL. По всей видимости, нет документации. Я использую reactor-core 3.0.0.RC1 и reactor-netty 0.5.0.M3 и Spring Framework 5.0.0.M1. Кто-нибудь знает, как настроить reactor-netty с поддержкой SSL?Как настроить реактор-netty для использования SSL?

ответ

0

Update 2017-01-04:

Это была исправлена ​​в выпуске 5.0.0.M4 от Spring Framework с this patch.

Оригинал Ответ:

я обнаружил, что решение создать новый ClientHttpConnector реализацию, уважающего SSL.

public class ReactorClientHttpsAwareConnector implements ClientHttpConnector { 

    @Override 
    public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri, 
              Function<? super ClientHttpRequest, Mono<Void>> requestCallback) { 

     return reactor.ipc.netty.http.HttpClient.create() 
               .request(io.netty.handler.codec.http.HttpMethod.valueOf(method.name()), 
                uri.toString(), 
                httpClientRequest -> requestCallback 
                 .apply(new ReactorClientHttpRequest(method, uri, httpClientRequest))) 
               .cast(HttpInbound.class) 
               .otherwise(HttpException.class, exc -> Mono.just(exc.getChannel())) 
               .map(ReactorClientHttpResponse::new); 
    } 
} 

HttpClient.create() необходимо, чтобы клиент знал SSL.

 Смежные вопросы

  • Нет связанных вопросов^_^