-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Make tracePropagationTargets
matching case-insensitive
#16018
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
tracePropagationTargets
case-insensitivetracePropagationTargets
matching case-insensitive
How would you depend on this behavior today? I just wonder if there is really a case where we would unintentionally break something vs. it suddenly starting to behave as I want? If a user has configured a trace propagation target So my POV is: this is a bug and was never supposed to be case insensitive, so I would just fix it 😅 |
I think the concrete concern was places where it's more likely to actually encounter capitalized letters, like query params. So maybe something like though now that I think about it, this would only be a problem if we there was a specific all lower case param and a camel-cased version of the same parameter, so rather unlikely? The overall concern: Right now, we (unexpectedly) would not attach headers to a variety of requests. Maybe users depend on this inderectly, in the sense that if we changed it, they'd get CORS errors because they didn't realize it was a problem before. So it's kinda a spacebar heating situation xD |
no strong feelings, we can also leave it for v10! I'll leave the decision to you ;) |
huh I didn't do this 😅 Linear weirdness? |
Problem Statement
Currently, we have a bit of an obscure problem with
tracePropagationTargets
:If users make a fetch request to a URL with casing (for whatever reason), they likely apply the same casing when defining
tracePropagationTargets
:Unfortunately, the values in
tracePropagationTargets
counter-intuitively don't match because we create anew URL()
from the URL passed tofetch
when determining if our tracing headers should be attached.The constructed
URL
object converts the entered url though to all-lower-case, meaning that when matchingmyapi.com
against both, the string or the regex, we wouldn't get a positive match. Therefore, the currently correct way of specifying TPT for this URL would any one of :Solution Brainstorm
For simplicity, we propose to convert all entries in
tracePropagationTargets
.toLower()
and add a case insensitivity/i
flag toRegExp
values.We're a bit worried though about subtly breaking existing setups that perhaps rely on case sensitivity. Therefore we consider this behaviour-breaking and opt to make the change in the next major.
(Also, intuitively, this sounds like a niche/edge case as it's rather uncommon to capitalize URLs)
The text was updated successfully, but these errors were encountered: