Konfigurasjonsmetodene til HttpClient i Reactor Netty returnerer en referanse til en konfigurert klient. Kastes resultatet, beholder den tidligere referansen de tidligere innstillingene.

Dette oppretter en proxy-konfigurasjon og mister den etterpå:

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, i tillegg til 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 host og port i eksempelet.

Den samme kontrollen gjelder når du setter responstimeouts eller håndtering av omdirigeringer. Les returkontrakten til metoden 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 mottatt.

Relaterte artikler