From 6e7bd2bc3e2964125e46b6dfc779f0193898ff3e Mon Sep 17 00:00:00 2001 From: Haotian Zhang Date: Tue, 16 Apr 2024 19:01:26 +0800 Subject: [PATCH 1/2] fix: fix RouterLabelRestTemplateInterceptor add response headers exception with httpclient5 (#1267) Co-authored-by: gzoldou --- CHANGELOG.md | 1 + .../resttemplate/RouterLabelRestTemplateInterceptor.java | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de45c9eaa5..b8397801d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,3 +4,4 @@ - [feat:upgrade jackson version.](https://github.com/Tencent/spring-cloud-tencent/pull/1259) - [fix:fix ApplicationContextAwareUtils NPE bug.](https://github.com/Tencent/spring-cloud-tencent/pull/1294) - [feat:upgrade jacoco version.](https://github.com/Tencent/spring-cloud-tencent/pull/1308) +- [fix: fix RouterLabelRestTemplateInterceptor add response headers exception with httpclient5.](https://github.com/Tencent/spring-cloud-tencent/pull/1267) diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/resttemplate/RouterLabelRestTemplateInterceptor.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/resttemplate/RouterLabelRestTemplateInterceptor.java index 808b2f6876..b23c5e14e3 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/resttemplate/RouterLabelRestTemplateInterceptor.java +++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/resttemplate/RouterLabelRestTemplateInterceptor.java @@ -45,6 +45,7 @@ import org.slf4j.LoggerFactory; import org.springframework.core.Ordered; +import org.springframework.http.HttpHeaders; import org.springframework.http.HttpRequest; import org.springframework.http.client.ClientHttpRequestExecution; import org.springframework.http.client.ClientHttpRequestInterceptor; @@ -104,7 +105,8 @@ public ClientHttpResponse intercept(@NonNull HttpRequest request, @NonNull byte[ ClientHttpResponse response = clientHttpRequestExecution.execute(request, body); if (!CollectionUtils.isEmpty(request.getHeaders().get(RouterConstant.ROUTER_LABEL_HEADER))) { - response.getHeaders().addAll(RouterConstant.ROUTER_LABEL_HEADER, Objects.requireNonNull(request.getHeaders() + HttpHeaders responseHeaders = HttpHeaders.writableHttpHeaders(response.getHeaders()); + responseHeaders.addAll(RouterConstant.ROUTER_LABEL_HEADER, Objects.requireNonNull(request.getHeaders() .get(RouterConstant.ROUTER_LABEL_HEADER))); } From be4b20cc895529d11e20c969e04dbc06daadfc57 Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Mon, 15 Jul 2024 19:14:51 +0800 Subject: [PATCH 2/2] fix: fix RouterLabelRestTemplateInterceptor add response headers exception with httpclient5 (#1337) Co-authored-by: andrew shan <45474304+andrewshan@users.noreply.github.com> fishtailfu --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8397801d2..ff57748798 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,4 +4,4 @@ - [feat:upgrade jackson version.](https://github.com/Tencent/spring-cloud-tencent/pull/1259) - [fix:fix ApplicationContextAwareUtils NPE bug.](https://github.com/Tencent/spring-cloud-tencent/pull/1294) - [feat:upgrade jacoco version.](https://github.com/Tencent/spring-cloud-tencent/pull/1308) -- [fix: fix RouterLabelRestTemplateInterceptor add response headers exception with httpclient5.](https://github.com/Tencent/spring-cloud-tencent/pull/1267) +- [fix: fix RouterLabelRestTemplateInterceptor add response headers exception with httpclient5.](https://github.com/Tencent/spring-cloud-tencent/pull/1337)