Merge pull request #145 from DataDog/tyler/case-insensitive

Ensure that headers are read case insensitive.
This commit is contained in:
Tyler Benson 2017-10-30 13:22:59 -07:00 committed by GitHub
commit cfdbf4c230
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 11 deletions

View File

@ -14,11 +14,11 @@ jobs:
- run: - run:
name: Run Tests name: Run Tests
command: ./gradlew clean check --parallel --stacktrace command: GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx1G -Xms512M" ./gradlew clean check --parallel --stacktrace --no-daemon --max-workers=3
- run: - run:
name: Verify Version Scan name: Verify Version Scan
command: ./gradlew verifyVersionScan --parallel --stacktrace command: ./gradlew verifyVersionScan --parallel --stacktrace --no-daemon
- save_cache: - save_cache:
paths: paths:
@ -58,5 +58,5 @@ jobs:
-PbintrayUser=${BINTRAY_USER} \ -PbintrayUser=${BINTRAY_USER} \
-PbintrayApiKey=${BINTRAY_API_KEY} \ -PbintrayApiKey=${BINTRAY_API_KEY} \
-PbuildInfo.build.number=${CIRCLE_BUILD_NUM} \ -PbuildInfo.build.number=${CIRCLE_BUILD_NUM} \
artifactoryPublish --max-workers=1 --stacktrace artifactoryPublish --max-workers=1 --stacktrace --no-daemon
fi fi

View File

@ -38,15 +38,16 @@ public class HTTPCodec implements Codec<TextMap> {
for (final Map.Entry<String, String> entry : carrier) { for (final Map.Entry<String, String> entry : carrier) {
if (entry.getKey().equals(TRACE_ID_KEY)) { final String key = entry.getKey().toLowerCase();
if (key.equalsIgnoreCase(TRACE_ID_KEY)) {
traceId = Long.parseLong(entry.getValue()); traceId = Long.parseLong(entry.getValue());
} else if (entry.getKey().equals(SPAN_ID_KEY)) { } else if (key.equalsIgnoreCase(SPAN_ID_KEY)) {
spanId = Long.parseLong(entry.getValue()); spanId = Long.parseLong(entry.getValue());
} else if (entry.getKey().startsWith(OT_BAGGAGE_PREFIX)) { } else if (key.startsWith(OT_BAGGAGE_PREFIX)) {
if (baggage.isEmpty()) { if (baggage.isEmpty()) {
baggage = new HashMap<>(); baggage = new HashMap<>();
} }
baggage.put(entry.getKey().replace(OT_BAGGAGE_PREFIX, ""), decode(entry.getValue())); baggage.put(key.replace(OT_BAGGAGE_PREFIX, ""), decode(entry.getValue()));
} }
} }
DDSpanContext context = null; DDSpanContext context = null;

View File

@ -56,10 +56,10 @@ public class HTTPCodecTest {
final Map<String, String> actual = final Map<String, String> actual =
new HashMap<String, String>() { new HashMap<String, String>() {
{ {
put(TRACE_ID_KEY, "1"); put(TRACE_ID_KEY.toUpperCase(), "1");
put(SPAN_ID_KEY, "2"); put(SPAN_ID_KEY.toUpperCase(), "2");
put(OT_BAGGAGE_PREFIX + "k1", "v1"); put(OT_BAGGAGE_PREFIX.toUpperCase() + "k1", "v1");
put(OT_BAGGAGE_PREFIX + "k2", "v2"); put(OT_BAGGAGE_PREFIX.toUpperCase() + "k2", "v2");
} }
}; };