diff --git a/src/internal/headers.ts b/src/internal/headers.ts index c724a9d22..4894a378d 100644 --- a/src/internal/headers.ts +++ b/src/internal/headers.ts @@ -74,7 +74,7 @@ export const buildHeaders = (newHeaders: HeadersLike[]): NullableHeaders => { for (const headers of newHeaders) { const seenHeaders = new Set(); for (const [name, value] of iterateHeaders(headers)) { - const lowerName = name.toLowerCase(); + const lowerName = name.toLocaleLowerCase('en-US'); if (!seenHeaders.has(lowerName)) { targetHeaders.delete(name); seenHeaders.add(lowerName); diff --git a/tests/buildHeaders.test.ts b/tests/buildHeaders.test.ts index 3f8e4d28e..2af2bf48a 100644 --- a/tests/buildHeaders.test.ts +++ b/tests/buildHeaders.test.ts @@ -79,6 +79,25 @@ describe('buildHeaders', () => { ], [[undefined], `NullableHeaders { }`], [[null], `NullableHeaders { }`], + [ + [ + { + 'OpenAI-Organization': 'org-123', + }, + ], + `NullableHeaders { 'OpenAI-Organization': 'org-123' }`, + ], + [ + [ + { + 'OpenAI-Organization': 'org-123', + }, + { + 'openai-organization': 'org-456', + }, + ], + `NullableHeaders { 'openai-organization': 'org-456' }`, + ], ]; for (const [input, expected] of cases) { test(expected, () => {