Issue: SPR-15782
@ -68,6 +68,10 @@ public class ReactorClientHttpConnector implements ClientHttpConnector {
public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri,
Function<? super ClientHttpRequest, Mono<Void>> requestCallback) {
if (!uri.isAbsolute()) {
return Mono.error(new IllegalArgumentException("URI is not absolute: " + uri));
}
return this.httpClient
.request(adaptHttpMethod(method),
uri.toString(),
@ -568,6 +568,16 @@ public class WebClientIntegrationTests {
}).verifyComplete();
@Test // SPR-15782
public void absoluteUri() throws Exception {
String uri = "/api/v4/groups/1";
Mono<ClientResponse> responseMono = WebClient.builder().build().get().uri(uri).exchange();
StepVerifier.create(responseMono)
.expectErrorMessage("URI is not absolute: " + uri)
.verify(Duration.ofSeconds(5));
@SuppressWarnings("serial")
private static class MyException extends RuntimeException {