O método proxy de Reactor Netty devolve o cliente configurado
Conserve o HttpClient que devolve proxy() antes de pasalo a ReactorClientHttpConnector; o cliente orixinal non cambia.
Os métodos de configuración de HttpClient en Reactor Netty devolven unha referencia a un cliente configurado. Se descarta ese resultado, a referencia anterior conserva a súa configuración previa.
Este código crea unha configuración de proxy e despois pérdese:
HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
No seu lugar, conserve a referencia devolta:
client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();
Os tipos son HttpClient e ProxyProvider de Reactor Netty, ademais de WebClient e ReactorClientHttpConnector de Spring. Encadear métodos directamente desde HttpClient.create() é outra forma de conservar a configuración devolta. Para as peticións permitidas á API pública, a lista de proxies HTTP ofrece candidatos para o host e o porto do exemplo.
A mesma comprobación aplícase ao definir tempos de espera de resposta ou o tratamento de redireccións. Lea o contrato de retorno do método en vez de supor que un setter modifica o obxecto orixinal.
Tamén cómpre rastrexar que referencia chega ao conector. Reasignar unha variable local despois de crear un conector non substitúe o cliente que ese conector xa recibiu.