Konfigurationsmetoderna för HttpClient i Reactor Netty returnerar en referens till en konfigurerad klient. Kastas resultatet behåller den tidigare referensen de tidigare inställningarna.

Det här skapar en proxykonfiguration och tappar sedan bort den:

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

Behåll i stället den returnerade referensen:

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

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

Typerna är Reactor Nettys HttpClient och ProxyProvider samt Springs WebClient och ReactorClientHttpConnector. Metodkedjning direkt från HttpClient.create() är ett annat sätt att behålla den returnerade konfigurationen. För tillåtna offentliga API-anrop ger HTTP-proxylistan kandidater för exemplets host och port.

Samma kontroll gäller när du ställer in svarstidsgränser eller hantering av omdirigeringar. Läs metodens returkontrakt i stället för att anta att en setter muterar det ursprungliga objektet.

Spåra också vilken referens som når connectorn. Att tilldela en lokal variabel på nytt efter att connectorn har byggts ersätter inte klienten som connectorn redan har fått.

Relaterade artiklar