From 3c049a2bd0b3ff3891bf5bc2d8cd4063daff322a Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Wed, 2 Nov 2022 16:21:05 +0100 Subject: [PATCH] Polish See gh-29388 --- .../ClientRequestObservationContext.java | 20 +++++++++++-------- ...ultClientRequestObservationConvention.java | 14 ++++++------- .../function/client/DefaultWebClient.java | 2 +- ...ientRequestObservationConventionTests.java | 8 ++++---- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientRequestObservationContext.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientRequestObservationContext.java index dad692438f7..8e618169959 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientRequestObservationContext.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/ClientRequestObservationContext.java @@ -23,6 +23,9 @@ import org.springframework.lang.Nullable; /** * Context that holds information for metadata collection * during the {@link ClientHttpObservationDocumentation#HTTP_REQUEST HTTP client exchange observations}. + *

The {@link #getCarrier() tracing context carrier} is a {@link ClientRequest.Builder request builder}, + * since the actual request is immutable. For {@code KeyValue} extraction, the {@link #getRequest() actual request} + * should be used instead. * * @author Brian Clozel * @since 6.0 @@ -35,7 +38,7 @@ public class ClientRequestObservationContext extends RequestReplySenderContext headers.set(name, value)); } } @@ -80,16 +83,17 @@ public class ClientRequestObservationContext extends RequestReplySenderContext responseMono = exchangeFunction.exchange(request) .checkpoint("Request to " + this.httpMethod.name() + " " + this.uri + " [DefaultWebClient]") .switchIfEmpty(NO_HTTP_CLIENT_RESPONSE_ERROR); diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestObservationConventionTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestObservationConventionTests.java index c2bb58789ba..a45c7aeb0f8 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestObservationConventionTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/client/DefaultClientRequestObservationConventionTests.java @@ -45,7 +45,7 @@ class DefaultClientRequestObservationConventionTests { void shouldHaveContextualName() { ClientRequestObservationContext context = new ClientRequestObservationContext(); context.setCarrier(ClientRequest.create(HttpMethod.GET, URI.create("/test"))); - context.setBuiltRequest(context.getCarrier().build()); + context.setRequest(context.getCarrier().build()); assertThat(this.observationConvention.getContextualName(context)).isEqualTo("http get"); } @@ -82,7 +82,7 @@ class DefaultClientRequestObservationConventionTests { .attribute(WebClient.class.getName() + ".uriTemplate", "/resource/{id}"); ClientRequestObservationContext context = createContext(request); context.setUriTemplate("/resource/{id}"); - context.setBuiltRequest(context.getCarrier().build()); + context.setRequest(context.getCarrier().build()); assertThat(this.observationConvention.getLowCardinalityKeyValues(context)) .contains(KeyValue.of("exception", "none"), KeyValue.of("method", "GET"), KeyValue.of("uri", "/resource/{id}"), KeyValue.of("status", "200"), KeyValue.of("outcome", "SUCCESS")); @@ -93,7 +93,7 @@ class DefaultClientRequestObservationConventionTests { @Test void shouldAddKeyValuesForRequestWithoutUriTemplate() { ClientRequestObservationContext context = createContext(ClientRequest.create(HttpMethod.GET, URI.create("/resource/42"))); - context.setBuiltRequest(context.getCarrier().build()); + context.setRequest(context.getCarrier().build()); assertThat(this.observationConvention.getLowCardinalityKeyValues(context)) .contains(KeyValue.of("method", "GET"), KeyValue.of("uri", "none")); assertThat(this.observationConvention.getHighCardinalityKeyValues(context)).hasSize(2).contains(KeyValue.of("http.url", "/resource/42")); @@ -102,7 +102,7 @@ class DefaultClientRequestObservationConventionTests { @Test void shouldAddClientNameKeyValueForRequestWithHost() { ClientRequestObservationContext context = createContext(ClientRequest.create(HttpMethod.GET, URI.create("https://localhost:8080/resource/42"))); - context.setBuiltRequest(context.getCarrier().build()); + context.setRequest(context.getCarrier().build()); assertThat(this.observationConvention.getHighCardinalityKeyValues(context)).contains(KeyValue.of("client.name", "localhost")); }