diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataWebClientFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataWebClientFilter.java index 8e64637bb..3547add0e 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataWebClientFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/EncodeTransferMedataWebClientFilter.java @@ -59,7 +59,6 @@ public class EncodeTransferMedataWebClientFilter implements ExchangeFilterFuncti ClientRequest request = requestBuilder.build(); - TransHeadersTransfer.transfer(request); return next.exchange(request); } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java index 6a3e53dc8..dd9a337d4 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java @@ -32,7 +32,6 @@ import com.tencent.cloud.common.util.JacksonUtils; import org.springframework.http.HttpHeaders; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.util.CollectionUtils; -import org.springframework.web.reactive.function.client.ClientRequest; /** * According to request and trans-headers(key list in string type) in metadata, build @@ -97,30 +96,4 @@ public final class TransHeadersTransfer { } } } - - /** - * According to {@link ClientRequest} and trans-headers(key list in string type) in metadata, build - * the complete headers(key-value list in map type) into metadata. - * @param clientRequest clientRequest - */ - public static void transfer(ClientRequest clientRequest) { - // transHeaderMetadata: for example, {"trans-headers" : {"header1,header2,header3":""}} - Map transHeaderMetadata = MetadataContextHolder.get().getTransHeaders(); - if (!CollectionUtils.isEmpty(transHeaderMetadata)) { - String transHeaders = transHeaderMetadata.keySet().stream().findFirst().orElse(""); - String[] transHeaderArray = transHeaders.split(","); - HttpHeaders headers = clientRequest.headers(); - Set headerKeys = headers.keySet(); - for (String httpHeader : headerKeys) { - Arrays.stream(transHeaderArray).forEach(transHeader -> { - if (transHeader.equals(httpHeader)) { - List list = headers.get(httpHeader); - String httpHeaderValue = JacksonUtils.serialize2Json(list); - // for example, {"trans-headers-kv" : {"header1":"v1","header2":"v2"...}} - MetadataContextHolder.get().setTransHeadersKV(httpHeader, httpHeaderValue); - } - }); - } - } - } } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java index 2dad1a8fd..52c5e4c7c 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java @@ -18,8 +18,6 @@ package com.tencent.cloud.metadata.core; -import java.net.URI; -import java.net.URISyntaxException; import java.util.Map; import com.tencent.cloud.common.metadata.MetadataContext; @@ -30,11 +28,9 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.HttpMethod; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.test.context.junit.jupiter.SpringExtension; -import org.springframework.web.reactive.function.client.ClientRequest; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @@ -87,23 +83,4 @@ public class TransHeadersTransferTest { assertThat(transHeadersKV.get("header2")).isEqualTo(JacksonUtils.serialize2Json(header2)); assertThat(transHeadersKV.get("header3")).isEqualTo(JacksonUtils.serialize2Json(header3)); } - - @Test - public void transferWebClientTest() throws URISyntaxException { - MetadataContext metadataContext = MetadataContextHolder.get(); - metadataContext.setTransHeaders("header1,header2,header3", ""); - ClientRequest.Builder builder = ClientRequest.create(HttpMethod.GET, new URI("")); - String[] header1 = {"1"}; - String[] header2 = {"2"}; - String[] header3 = {"3"}; - builder.header("header1", header1); - builder.header("header2", header2); - builder.header("header3", header3); - ClientRequest request = builder.build(); - TransHeadersTransfer.transfer(request); - Map transHeadersKV = MetadataContextHolder.get().getTransHeadersKV(); - assertThat(transHeadersKV.get("header1")).isEqualTo(JacksonUtils.serialize2Json(header1)); - assertThat(transHeadersKV.get("header2")).isEqualTo(JacksonUtils.serialize2Json(header2)); - assertThat(transHeadersKV.get("header3")).isEqualTo(JacksonUtils.serialize2Json(header3)); - } }