From 75a5ba25fdceb06ee201d21f18879e75d6823ebf Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Thu, 31 Dec 2015 12:35:06 +0000 Subject: [PATCH] Only add response headers once --- .../cloud/sleuth/instrument/web/TraceFilter.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java index eae55ac64..864d1d454 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java @@ -143,15 +143,6 @@ public class TraceFilter extends OncePerRequestFilter request.setAttribute(TRACE_REQUEST_ATTR, trace); } - // Send new trace id back to the caller - addToResponseIfNotPresent(response, Trace.TRACE_ID_NAME, - trace.getSpan().getTraceId()); - addToResponseIfNotPresent(response, Trace.SPAN_ID_NAME, - trace.getSpan().getSpanId()); - if (skip) { - addToResponseIfNotPresent(response, Trace.NOT_SAMPLED_NAME, ""); - } - try { addRequestAnnotations(request); @@ -163,6 +154,9 @@ public class TraceFilter extends OncePerRequestFilter // TODO: how to deal with response annotations and async? return; } + if (skip) { + addToResponseIfNotPresent(response, Trace.NOT_SAMPLED_NAME, ""); + } if (trace != null) { addResponseHeaders(response, trace.getSpan()); addResponseAnnotations(response);