Use URI String as fallback in ReactorClientHttpConnector
Closes gh-31033
This commit is contained in:
parent
35f458fa5f
commit
957b6b2caf
|
|
@ -108,7 +108,7 @@ public class ReactorClientHttpConnector implements ClientHttpConnector {
|
||||||
HttpClient.RequestSender requestSender = this.httpClient
|
HttpClient.RequestSender requestSender = this.httpClient
|
||||||
.request(io.netty.handler.codec.http.HttpMethod.valueOf(method.name()));
|
.request(io.netty.handler.codec.http.HttpMethod.valueOf(method.name()));
|
||||||
|
|
||||||
requestSender = (uri.isAbsolute() ? requestSender.uri(uri) : requestSender.uri(uri.toString()));
|
requestSender = setUri(requestSender, uri);
|
||||||
|
|
||||||
return requestSender
|
return requestSender
|
||||||
.send((request, outbound) -> requestCallback.apply(adaptRequest(method, uri, request, outbound)))
|
.send((request, outbound) -> requestCallback.apply(adaptRequest(method, uri, request, outbound)))
|
||||||
|
|
@ -125,6 +125,18 @@ public class ReactorClientHttpConnector implements ClientHttpConnector {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static HttpClient.RequestSender setUri(HttpClient.RequestSender requestSender, URI uri) {
|
||||||
|
if (uri.isAbsolute()) {
|
||||||
|
try {
|
||||||
|
return requestSender.uri(uri);
|
||||||
|
}
|
||||||
|
catch (Exception ex) {
|
||||||
|
// Fall back on passing it in as a String
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return requestSender.uri(uri.toString());
|
||||||
|
}
|
||||||
|
|
||||||
private ReactorClientHttpRequest adaptRequest(HttpMethod method, URI uri, HttpClientRequest request,
|
private ReactorClientHttpRequest adaptRequest(HttpMethod method, URI uri, HttpClientRequest request,
|
||||||
NettyOutbound nettyOutbound) {
|
NettyOutbound nettyOutbound) {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue