Методи налаштування HttpClient у Reactor Netty повертають посилання на налаштований клієнт. Якщо відкинути цей результат, попереднє посилання залишиться з попередніми налаштуваннями.

Тут створюється конфігурація проксі, яка потім втрачається:

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

Натомість збережіть повернуте посилання:

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

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

Типи — HttpClient і ProxyProvider з Reactor Netty, а також WebClient і ReactorClientHttpConnector зі Spring. Ланцюжок викликів безпосередньо від HttpClient.create() — ще один спосіб зберегти повернену конфігурацію. Для дозволених запитів до публічних API список HTTP-проксі дає кандидатів для host і port із прикладу.

Та сама перевірка діє під час налаштування тайм-аутів відповіді або обробки перенаправлень. Читайте контракт повернення методу, а не припускайте, що setter змінює початковий об'єкт.

Також простежте, яке посилання потрапляє до конектора. Повторне присвоєння локальної змінної після створення конектора не замінює клієнт, який конектор уже отримав.

Схожі статті