Set values instead of add them for headers; fixes gh-1198

This commit is contained in:
Marcin Grzejszczak
2019-01-29 10:20:00 +01:00
parent dd54f1e1a9
commit 1775ec1000
2 changed files with 6 additions and 2 deletions

View File

@@ -56,8 +56,8 @@ class TraceRequestHttpHeadersFilter extends AbstractHttpHeadersFilter {
}
exchange.getAttributes().put(SPAN_ATTRIBUTE, span);
HttpHeaders headersWithInput = new HttpHeaders();
headersWithInput.addAll(input);
headersWithInput.addAll(builder.build().getHeaders());
headersWithInput.setAll(input.toSingleValueMap());
headersWithInput.setAll(builder.build().getHeaders().toSingleValueMap());
return headersWithInput;
}

View File

@@ -31,6 +31,7 @@ public class TraceRequestHttpHeadersFilterTests {
HttpHeadersFilter filter = TraceRequestHttpHeadersFilter.create(this.httpTracing);
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set("X-Hello", "World");
httpHeaders.set("X-Auth-User", "aaaa");
httpHeaders.set("X-B3-TraceId", "52f112af7472aff0");
httpHeaders.set("X-B3-SpanId", "53e6ab6fc5dfee58");
MockServerHttpRequest request = MockServerHttpRequest.post("foo/bar")
@@ -47,6 +48,8 @@ public class TraceRequestHttpHeadersFilterTests {
.isEqualTo(Collections.singletonList("World"));
BDDAssertions.then(filteredHeaders.get("X-Hello-Request"))
.isEqualTo(Collections.singletonList("Request World"));
BDDAssertions.then(filteredHeaders.get("X-Auth-User"))
.hasSize(1);
BDDAssertions
.then((Object) exchange
.getAttribute(TraceRequestHttpHeadersFilter.SPAN_ATTRIBUTE))
@@ -79,6 +82,7 @@ public class TraceRequestHttpHeadersFilterTests {
private HttpHeaders requestHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.add("X-Hello-Request", "Request World");
headers.add("X-Auth-User", "aaaa");
return headers;
}