diff --git a/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/appsec/StatusHeaderInstrumentation.java b/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/appsec/StatusHeaderInstrumentation.java index dd096409428..bf4d78e6a7e 100644 --- a/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/appsec/StatusHeaderInstrumentation.java +++ b/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/appsec/StatusHeaderInstrumentation.java @@ -97,10 +97,10 @@ static void before( throw new BlockingException("Blocked request (for StatusHeader/sendJson)"); } } - } - @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class) - static void after() { - CallDepthThreadLocalMap.decrementCallDepth(StatusHeader.class); + @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class) + static void after() { + CallDepthThreadLocalMap.decrementCallDepth(StatusHeader.class); + } } } diff --git a/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/base/HttpServerTest.groovy b/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/base/HttpServerTest.groovy index a06de2014f2..452373a6d91 100644 --- a/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/base/HttpServerTest.groovy +++ b/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/base/HttpServerTest.groovy @@ -2384,6 +2384,7 @@ abstract class HttpServerTest extends WithHttpServer { boolean bodyConvertedBlock boolean responseHeadersInTags boolean responseBodyTag + Object responseBody } static final String stringOrEmpty(String string) { @@ -2399,6 +2400,9 @@ abstract class HttpServerTest extends WithHttpServer { final BiFunction> requestEndedCb = ({ RequestContext rqCtxt, IGSpanInfo info -> Context context = rqCtxt.getData(RequestContextSlot.APPSEC) + if (context.responseBodyTag) { + rqCtxt.traceSegment.setTagTop('response.body', context.responseBody) + } if (context.extraSpanName) { runUnderTrace(context.extraSpanName, false) { def span = activeSpan() @@ -2547,9 +2551,7 @@ abstract class HttpServerTest extends WithHttpServer { body = obj.toString() } Context context = rqCtxt.getData(RequestContextSlot.APPSEC) - if (context.responseBodyTag) { - rqCtxt.traceSegment.setTagTop('response.body', body) - } + context.responseBody = body if (context.responseBlock) { new RbaFlow( new Flow.Action.RequestBlockingAction(413, BlockingContentType.JSON)