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 /src/main/scala | |
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.
Diffstat (limited to 'src/main/scala')
-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) } } |