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.

Relaterte artikler