Исходя из страны, уже добавленной в веб-фильтр, мне нужно изменить запрос на другой сервер.
Я уже добавил контекст с веб-фильтром в цепочку, я вижу его здесь, но я не нашел, как изменить полученный clientRequest на основе контекста сигнала в цепочке. Если кто-то уже нашел способ сделать это и может помочь:
return webClient
.filter(
ExchangeFilterFunction
.ofRequestProcessor(
new Function<ClientRequest, Mono<ClientRequest>>() {
@Override
public Mono<ClientRequest> apply(ClientRequest clientRequest) {
return Mono.just(
ClientRequest.from(clientRequest).build())
.doOnEach(new Consumer<Signal<ClientRequest>>() {
@Override
public void accept(Signal<ClientRequest> signal) {
var countryContext = signal.getContext()
.getOrEmpty(CountryContext.COUNTRY_CONTEXT_HEADER_REST).get();
System.out.println(countryContext);
}
});
}
}
)
).build();