表題の通り、sam local start-apiでヘッダーが勝手にキャメルケースになる問題についてです。
こちらにドンピシャの回答があるのですが、内部で使っているFlaskの仕様だそうです。
Headers are received in Camel-Case · Issue #1860 · aws/aws-sam-cli
仕方ないのでNode.jsでは下記ワークアラウンドをしてヘッダーをすべて小文字にして対応しましょう。
(Pythonならissueのコメントにサンプルコードが載っています)
const toLowerCaseKey = function(object) {
let newObject = {};
for (let key in object) {
if (object.hasOwnProperty(key)) {
newObject[key.toLocaleLowerCase()] = object[key];
}
}
return newObject
}