From 5666e363d1960776fcc39c61a41d99a378cb3edd Mon Sep 17 00:00:00 2001 From: ZLATAN628 <107628611+ZLATAN628@users.noreply.github.com> Date: Mon, 11 Nov 2024 13:49:43 +0800 Subject: [PATCH] Fix wrong uri tag for client observation convention Prior to this commit, a client sending a request to "https://example.org" would record the wrong URI tag as "/https://example.org". This commit ensures that the scheme+host part is matched correctly in the default client observation conventions. See gh-33867 --- .../observation/DefaultClientRequestObservationConvention.java | 2 +- .../client/DefaultClientRequestObservationConvention.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/client/observation/DefaultClientRequestObservationConvention.java b/spring-web/src/main/java/org/springframework/http/client/observation/DefaultClientRequestObservationConvention.java index 713ef7c4caf..202d179ba26 100644 --- a/spring-web/src/main/java/org/springframework/http/client/observation/DefaultClientRequestObservationConvention.java +++ b/spring-web/src/main/java/org/springframework/http/client/observation/DefaultClientRequestObservationConvention.java @@ -43,7 +43,7 @@ public class DefaultClientRequestObservationConvention implements ClientRequestO private static final String DEFAULT_NAME = "http.client.requests"; - private static final Pattern PATTERN_BEFORE_PATH = Pattern.compile("^https?://[^/]+/"); + private static final Pattern PATTERN_BEFORE_PATH = Pattern.compile("^https?://[^/]+/?"); private static final KeyValue URI_NONE = KeyValue.of(LowCardinalityKeyNames.URI, KeyValue.NONE_VALUE); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestObservationConvention.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestObservationConvention.java index 674540ef113..9a5d913fc8c 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestObservationConvention.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultClientRequestObservationConvention.java @@ -43,7 +43,7 @@ public class DefaultClientRequestObservationConvention implements ClientRequestO private static final String ROOT_PATH = "/"; - private static final Pattern PATTERN_BEFORE_PATH = Pattern.compile("^https?://[^/]+/"); + private static final Pattern PATTERN_BEFORE_PATH = Pattern.compile("^https?://[^/]+/?"); private static final KeyValue URI_NONE = KeyValue.of(LowCardinalityKeyNames.URI, KeyValue.NONE_VALUE);