diff --git a/.changeset/blue-planets-juggle.md b/.changeset/blue-planets-juggle.md new file mode 100644 index 00000000000..c740d1918de --- /dev/null +++ b/.changeset/blue-planets-juggle.md @@ -0,0 +1,5 @@ +--- +'@apollo/server': patch +--- + +Allow case insensitive lookup on headers. Use HeaderMap instead of plain Map for headers in expressMiddleware. diff --git a/packages/server/src/express4/index.ts b/packages/server/src/express4/index.ts index 6dd8971c216..90bab238439 100644 --- a/packages/server/src/express4/index.ts +++ b/packages/server/src/express4/index.ts @@ -7,6 +7,7 @@ import type { HTTPGraphQLRequest, } from '../externalTypes/index.js'; import { parse as urlParse } from 'url'; +import { HeaderMap } from '../utils/HeaderMap.js'; export interface ExpressContextFunctionArgument { req: express.Request; @@ -56,7 +57,7 @@ export function expressMiddleware( return; } - const headers = new Map(); + const headers = new HeaderMap(); for (const [key, value] of Object.entries(req.headers)) { if (value !== undefined) { // Node/Express headers can be an array or a single value. We join