Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
Show all 5 items in the list
Tags used for linking issues. [ID: 1172495]
View issue level access limits(Press Alt + Right arrow for more information)
Unintended behavior
View staffing
Description
Description
When fetching a specific message/thread/etc, one can supply a specific list of headers to fetch with the object using the "metadataHeaders" array in the request. This will return only the headers specified. I've discovered that the headers provided in this array are case-sensitive. If I supply "Feedback-ID" in the metadataHeaders array, then only "Feedback-ID" will be returned. Headers such as "feedback-id" or "Feedback-Id" will not be returned.
Why is this an issue? Because email headers are supposed to be case insensitive. As such, all three above examples should be treated as the exact same header regardless of case. This is what the standard specifies, and the mess that is email headers today means I'm seeing all kinds of case combinations. If headers are supposed to be case insensitive, then the headers returned from the metadataHeaders array should also be a case insensitive match. If I put "feedback-id" in the metadataHeaders array and the object I'm fetching has "Feedback-ID" in the headers, then "Feedback-ID" should be returned.
Steps
Get a specific message, note the headers on the message, then get that message again with the metadataHeaders array containing one or more headers that are known to be on the message, but with case differences. The known headers will not be returned in the headers.