Reactor Nettys proxy-metode returnerer den konfigurerte klienten
Behold HttpClient-objektet som proxy() returnerer, før du sender det til ReactorClientHttpConnector; den opprinnelige klienten er uendret.
Konfigurasjonsmetodene til HttpClient i Reactor Netty returnerer en referanse til en konfigurert klient. Forkastes resultatet, beholder den tidligere referansen de tidligere innstillingene.
Dette oppretter en proxy-konfigurasjon og mister den deretter:
HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
Behold den returnerte referansen i stedet:
client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();
Typene er Reactor Nettys HttpClient og ProxyProvider, samt Springs WebClient og ReactorClientHttpConnector. Metodekjeding direkte fra HttpClient.create() er en annen måte å beholde den returnerte konfigurasjonen. For tillatte offentlige API-forespørsler gir HTTP-proxylisten kandidater for eksempelets host og port.
Den samme kontrollen gjelder når du setter responstimeouts eller behandling av omdirigeringer. Les metodens returkontrakt i stedet for å anta at en setter muterer det opprinnelige objektet.
Spor også hvilken referanse som når connectoren. Å tilordne en lokal variabel på nytt etter at connectoren er bygget, erstatter ikke klienten connectoren allerede har fått.