Metode za konfiguraciju HttpClienta u Reactor Nettyju vraćaju referencu na konfigurirani klijent. Ako taj rezultat odbacite, prethodna referenca zadržava stare postavke.

Ovaj kod stvara proxy konfiguraciju i 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 Nettyjev HttpClient i ProxyProvider te Springov WebClient i ReactorClientHttpConnector. Lančano pozivanje metoda izravno na HttpClient.create() još je jedan način da sačuvate vraćenu konfiguraciju. Za dopuštene zahtjeve prema javnom API-ju popis HTTP proxyja nudi kandidate za host i port iz primjera.

Ista provjera vrijedi i kod postavljanja vremenskih ograničenja odgovora ili obrade preusmjeravanja. Pročitajte ugovor o povratnoj vrijednosti metode umjesto da pretpostavljate da setter mijenja izvorni objekt.

Pratite i koja referenca stiže do connectora. Ponovno dodjeljivanje lokalne varijable nakon stvaranja connectora ne zamjenjuje klijent koji je taj connector već primio.

Povezani članci