Proxy методот на Reactor Netty го враќа конфигурираниот клиент
Задржете го HttpClient што го враќа proxy() пред да го предадете на ReactorClientHttpConnector; оригиналниот клиент останува непроменет.
Методите за конфигурација на HttpClient во Reactor Netty враќаат референца на конфигуриран клиент. Ако тој резултат се отфрли, претходната референца ги задржува претходните поставки.
Ова создава proxy конфигурација и потоа ја губи:
HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
Наместо тоа, задржете ја вратената референца:
client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();
Типовите се HttpClient и ProxyProvider на Reactor Netty, плус WebClient и ReactorClientHttpConnector на Spring. Верижно повикување директно од HttpClient.create() е друг начин да се задржи вратената конфигурација. За дозволени барања до јавни API, списокот на HTTP proxy нуди кандидати за host и port од примерот.
Истата проверка важи и при поставување на временски ограничувања за одговор или ракување со пренасочување. Читајте го договорот за враќање на методот наместо да претпоставувате дека setter го менува оригиналниот објект.
Исто така следете која референца стигнува до конекторот. Презадолжувањето на локална променлива по создавање на конекторот не го заменува клиентот што конекторот веќе го добил.