You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It looks like when you're adding legacy open-trace baggage, you aren't re-encoding the values. This is causing our server to 500.
Our customer is sending us a request with a baggage header. This header is encoded but has a sentry-release value that when unencoded, contains a newline in the value.
When the ot-baggage-sentry-release header is being sent to DD, it's not encoded and causes Node to throw an error.
Reproduction Code
Send a request to a server that includes this header:
TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["ot-baggage-sentry-release"]
at __node_internal_captureLargerStackTrace (node:internal/errors:496:5)
at new NodeError (node:internal/errors:405:5)
at __node_internal_ (node:_http_outgoing:628:11)
at ClientRequest.setHeader (node:_http_outgoing:651:3)
at new ClientRequest (node:_http_client:291:14)
at Object.request (node:http:100:10)
at /Users/jkalberer/Desktop/dev/project/node_modules/dd-trace/packages/datadog-instrumentations/src/http/client.js:72:31
at run (/Users/jkalberer/Desktop/dev/project/node_modules/dc-polyfill/patch-channel-store-methods.js:39:16)
at DatadogStorage.run (/Users/jkalberer/Desktop/dev/project/node_modules/dd-trace/packages/datadog-core/src/storage.js:41:22)
at /Users/jkalberer/Desktop/dev/project/node_modules/dc-polyfill/patch-channel-store-methods.js:70:18
at ch.runStores (/Users/jkalberer/Desktop/dev/project/node_modules/dc-polyfill/patch-channel-store-methods.js:48:14)
at Object.request (/Users/jkalberer/Desktop/dev/project/node_modules/dd-trace/packages/datadog-instrumentations/src/http/client.js:50:27)
at RedirectableRequest._performRequest (/Users/jkalberer/Desktop/dev/project/node_modules/follow-redirects/index.js:337:24)
at new RedirectableRequest (/Users/jkalberer/Desktop/dev/project/node_modules/follow-redirects/index.js:111:8)
at Object.request (/Users/jkalberer/Desktop/dev/project/node_modules/follow-redirects/index.js:543:14)
at dispatchHttpRequest (/Users/jkalberer/Desktop/dev/project/node_modules/axios/lib/adapters/http.js:464:21)
at <anonymous> (/Users/jkalberer/Desktop/dev/project/node_modules/axios/lib/adapters/http.js:152:5)
at new Promise (<anonymous>)
at wrapAsync (/Users/jkalberer/Desktop/dev/project/node_modules/axios/lib/adapters/http.js:132:10)
at http (/Users/jkalberer/Desktop/dev/project/node_modules/axios/lib/adapters/http.js:170:10)
at Axios.dispatchRequest (/Users/jkalberer/Desktop/dev/project/node_modules/axios/lib/core/dispatchRequest.js:51:10)
### Tracer Config
_No response_
### Operating System
_No response_
### Bundling
No Bundling
The text was updated successfully, but these errors were encountered:
Tracer Version(s)
5.31.0
Node.js Version(s)
v18.18.1
Bug Report
It looks like when you're adding legacy open-trace baggage, you aren't re-encoding the values. This is causing our server to 500.
Our customer is sending us a request with a
baggage
header. This header is encoded but has asentry-release
value that when unencoded, contains a newline in the value.When the
ot-baggage-sentry-release
header is being sent to DD, it's not encoded and causes Node to throw an error.Reproduction Code
Send a request to a server that includes this header:
Error Logs
The text was updated successfully, but these errors were encountered: