API Gateway がたまにリクエストヘッダの大文字を小文字に変えてくる
原因がまったくわからないが、同じコードを別環境にデプロイしたりすると変わる。
こういう事例があるらしい
http://ryoichi0102.hatenablog.com/entry/postman-request-header-case-ignored
サーバレスのIssueで色々work arroundの話がされている
https://github.com/serverless/serverless/issues/2765
とりあえずRFCでHTTPリクエストヘッダはcase-insensitiveにしましょうといわれているので、全部小文字にしてから取得する処理を入れておくとトラブルを回避できる。
code: typescript
const lowerCaseHeaders: { key: string: string } = {};
_.forEach(event.headers, (value: string, key: string) => {
lowerCaseHeaderskey.toLowerCase() = value;
});
ちなみに HTTP/2 では仕様上ヘッダで利用する文字はすべて小文字にしないといけないらしい
#API_Gateway