Konfigurační metody HttpClient v Reactor Netty vracejí referenci na nakonfigurovaný klient. Pokud tento výsledek zahodíte, dřívější reference si ponechá stará nastavení.

Tento kód vytvoří konfiguraci proxy a poté ji ztratí:

HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
    .host("proxy.example").port(8080));

Místo toho si vrácenou referenci ponechte:

client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
    .host("proxy.example").port(8080));

WebClient webClient = WebClient.builder()
    .clientConnector(new ReactorClientHttpConnector(client))
    .build();

Typy jsou HttpClient a ProxyProvider z Reactor Netty a dále WebClient a ReactorClientHttpConnector ze Springu. Řetězení metod přímo z HttpClient.create() je další způsob, jak si vrácenou konfiguraci udržet. Pro povolené požadavky přes veřejné API nabízí seznam HTTP proxy kandidáty pro hostitele a port z příkladu.

Stejná kontrola platí i při nastavování časových limitů odpovědi nebo zpracování přesměrování. Čtěte návratový kontrakt metody, místo abyste předpokládali, že setter mění původní objekt.

Sledujte také, která reference dorazí ke connectoru. Přiřazení nové hodnoty lokální proměnné po vytvoření connectoru nenahradí klienta, kterého connector už dostal.

Související články