From 4e31acf95ba14c4822b0799d2afc669987363669 Mon Sep 17 00:00:00 2001 From: Sarah Chen Date: Fri, 6 Dec 2024 15:02:02 -0500 Subject: [PATCH] debug more --- .../agent/test/server/http/TestHttpServer.groovy | 13 ++----------- .../http/HttpServletRequestExtractAdapter.java | 4 ++++ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/server/http/TestHttpServer.groovy b/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/server/http/TestHttpServer.groovy index 7781fea8a7cd..4a78ced73dad 100644 --- a/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/server/http/TestHttpServer.groovy +++ b/dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/server/http/TestHttpServer.groovy @@ -342,7 +342,7 @@ class TestHttpServer implements AutoCloseable { clone.resolveStrategy = Closure.DELEGATE_FIRST try { - clone(api) // come back to here!!! + clone(api) } catch (Exception e) { api.response.status(500).send(e.getMessage()) e.printStackTrace() @@ -503,19 +503,10 @@ class TestHttpServer implements AutoCloseable { static class Headers { private final Map headers - // FIX THIS...... setting header to wrong value, but also fails when header is hardcoded to correct value private Headers(Request request) { this.headers = [:] request.getHeaderNames().each { - String tag = request.getHeader(it) - System.out.println("tag: " + tag) - if (tag == "foo,bar") { - headers.put(it, "foo,bar,baz") - System.out.println("set " + it + " to " + headers.get(it)) - } else { - headers.put(it, tag) - } - // headers.put(it, request.getHeader(it)) + headers.put(it, request.getHeader(it)) } } diff --git a/dd-java-agent/testing/src/main/java/datadog/trace/agent/test/server/http/HttpServletRequestExtractAdapter.java b/dd-java-agent/testing/src/main/java/datadog/trace/agent/test/server/http/HttpServletRequestExtractAdapter.java index 1c2141850812..edd705df7b30 100644 --- a/dd-java-agent/testing/src/main/java/datadog/trace/agent/test/server/http/HttpServletRequestExtractAdapter.java +++ b/dd-java-agent/testing/src/main/java/datadog/trace/agent/test/server/http/HttpServletRequestExtractAdapter.java @@ -28,6 +28,10 @@ public void forEachKey( System.out.println("value: " + carrier.getHeader(header)); System.out.println("========= END ACCEPT IS CALLED HERE ========="); } + // ISSUE HERE + // `getHeader` in Request.class:604 calls `get` in HttpFields.class:164 + // which returns only the first value for the header, instead of all values + // for the header name. if (!classifier.accept(header, carrier.getHeader(header))) { return; }