Skip to content

Commit 957b6b2

Browse files
committed
Use URI String as fallback in ReactorClientHttpConnector
Closes gh-31033
1 parent 35f458f commit 957b6b2

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri,
108108
HttpClient.RequestSender requestSender = this.httpClient
109109
.request(io.netty.handler.codec.http.HttpMethod.valueOf(method.name()));
110110

111-
requestSender = (uri.isAbsolute() ? requestSender.uri(uri) : requestSender.uri(uri.toString()));
111+
requestSender = setUri(requestSender, uri);
112112

113113
return requestSender
114114
.send((request, outbound) -> requestCallback.apply(adaptRequest(method, uri, request, outbound)))
@@ -125,6 +125,18 @@ public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri,
125125
});
126126
}
127127

128+
private static HttpClient.RequestSender setUri(HttpClient.RequestSender requestSender, URI uri) {
129+
if (uri.isAbsolute()) {
130+
try {
131+
return requestSender.uri(uri);
132+
}
133+
catch (Exception ex) {
134+
// Fall back on passing it in as a String
135+
}
136+
}
137+
return requestSender.uri(uri.toString());
138+
}
139+
128140
private ReactorClientHttpRequest adaptRequest(HttpMethod method, URI uri, HttpClientRequest request,
129141
NettyOutbound nettyOutbound) {
130142

0 commit comments

Comments
 (0)