Reactor Netty proxy metoda vraća konfigurisani klijent
Zadržite HttpClient koji vraća proxy() prije prosljeđivanja u ReactorClientHttpConnector; originalni klijent ostaje nepromijenjen.
Metode za konfiguraciju HttpClient-a u Reactor Netty-ju vraćaju referencu na konfigurisani klijent. Ako taj rezultat odbacite, prethodna referenca zadržava svoja stara podešavanja.
Sljedeći kod kreira proxy konfiguraciju, a zatim je gubi:
HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
Umjesto toga zadržite vraćenu referencu:
client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();
Tipovi su Reactor Netty HttpClient i ProxyProvider, te Spring WebClient i ReactorClientHttpConnector. Lančano pozivanje direktno na HttpClient.create() je još jedan način da sačuvate vraćenu konfiguraciju. Za dopuštene zahtjeve prema javnom API-ju lista HTTP proxyja nudi kandidate za host i port iz primjera.
Ista provjera vrijedi i pri postavljanju vremenskih ograničenja odgovora ili obrade preusmjeravanja. Pročitajte ugovor o povratnoj vrijednosti metode umjesto da pretpostavljate da setter mijenja originalni objekat.
Također pratite koja referenca stiže do connector-a. Ponovno dodjeljivanje lokalne varijable nakon kreiranja connector-a ne zamjenjuje klijent koji je taj connector već primio.