Use full URI for URI template keyvalue with RestClient
Prior to this commit, `RestClient` would not use the full URI created by the uri handler as a template request attribute. This means that HTTP client observations would not contain the base URI in recorded observations as the uri template keyvalue. Closes gh-33928
This commit is contained in:
@@ -313,19 +313,22 @@ final class DefaultRestClient implements RestClient {
|
||||
|
||||
@Override
|
||||
public RequestBodySpec uri(String uriTemplate, Object... uriVariables) {
|
||||
attribute(URI_TEMPLATE_ATTRIBUTE, uriTemplate);
|
||||
UriBuilder uriBuilder = uriBuilderFactory.uriString(uriTemplate);
|
||||
attribute(URI_TEMPLATE_ATTRIBUTE, uriBuilder.toUriString());
|
||||
return uri(DefaultRestClient.this.uriBuilderFactory.expand(uriTemplate, uriVariables));
|
||||
}
|
||||
|
||||
@Override
|
||||
public RequestBodySpec uri(String uriTemplate, Map<String, ?> uriVariables) {
|
||||
attribute(URI_TEMPLATE_ATTRIBUTE, uriTemplate);
|
||||
UriBuilder uriBuilder = uriBuilderFactory.uriString(uriTemplate);
|
||||
attribute(URI_TEMPLATE_ATTRIBUTE, uriBuilder.toUriString());
|
||||
return uri(DefaultRestClient.this.uriBuilderFactory.expand(uriTemplate, uriVariables));
|
||||
}
|
||||
|
||||
@Override
|
||||
public RequestBodySpec uri(String uriTemplate, Function<UriBuilder, URI> uriFunction) {
|
||||
attribute(URI_TEMPLATE_ATTRIBUTE, uriTemplate);
|
||||
UriBuilder uriBuilder = uriBuilderFactory.uriString(uriTemplate);
|
||||
attribute(URI_TEMPLATE_ATTRIBUTE, uriBuilder.toUriString());
|
||||
return uri(uriFunction.apply(DefaultRestClient.this.uriBuilderFactory.uriString(uriTemplate)));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user