diff options
author | Jakob Odersky <jakob@driver.xyz> | 2018-09-04 15:18:29 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@driver.xyz> | 2018-09-12 14:17:39 -0700 |
commit | 14ece0965f077da5c03ca4e8d3ff54083b1412dc (patch) | |
tree | 856ff065c0a84fd57a74ae758b5cdc94ec26b568 | |
parent | c0f2c67d1ff04d32c4a08897d1adbf22d27ed115 (diff) | |
download | driver-core-14ece0965f077da5c03ca4e8d3ff54083b1412dc.tar.gz driver-core-14ece0965f077da5c03ca4e8d3ff54083b1412dc.tar.bz2 driver-core-14ece0965f077da5c03ca4e8d3ff54083b1412dc.zip |
Replace traceparent header, rather than setting all headers
The bug manifested itself by missing authentication headers, as these
were cleared when the child trace header was set.
-rw-r--r-- | src/main/scala/xyz/driver/core/init/HttpApi.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/scala/xyz/driver/core/init/HttpApi.scala b/src/main/scala/xyz/driver/core/init/HttpApi.scala index 6330fbe..81428bf 100644 --- a/src/main/scala/xyz/driver/core/init/HttpApi.scala +++ b/src/main/scala/xyz/driver/core/init/HttpApi.scala @@ -75,8 +75,12 @@ trait HttpApi extends CloudServices with Directives with SprayJsonSupport { self } reporter .traceWithOptionalParentAsync(s"http_handle_rpc", tags, parent) { spanContext => - val header = Traceparent(spanContext) - val withHeader = ctx.withRequest(ctx.request.withHeaders(header)) + val header = Traceparent(spanContext) + val withHeader = ctx.withRequest( + ctx.request + .removeHeader(header.name) + .addHeader(header) + ) inner(withHeader) } } |