In the current version, Gun will normalize all header fields provided by the user, transforming them to lowercase. While this is standard compliant, it makes it impossible to implement various request signature mechanisms which relies on precise header values.
An example would be the AWS signature version 4, where the user computes a hash based on header fields among other things. The user generates a hash from the header field it provides, and the result as a new header field. But Gun modifies these fields, making the hash incorrect.
A simple solution would be an option to indicate that Gun should not modify any header field provided by the user.
In the current version, Gun will normalize all header fields provided by the user, transforming them to lowercase. While this is standard compliant, it makes it impossible to implement various request signature mechanisms which relies on precise header values.
An example would be the AWS signature version 4, where the user computes a hash based on header fields among other things. The user generates a hash from the header field it provides, and the result as a new header field. But Gun modifies these fields, making the hash incorrect.
A simple solution would be an option to indicate that Gun should not modify any header field provided by the user.