331
return servers;
332
}
334
>
for (const [name, server] of Object.entries(servers)) {
335
>
const normalized = server.url !== undefined ? normalizeCodexMcpResourceUrl(server.url) : undefined;
336
>
const token = normalized !== undefined ? tokensByNormalizedUrl.get(normalized) : undefined;
337
>
out[name] = token !== undefined
338
>
? { ...server, http_headers: { ...withoutAuthorizationHeaders(server.http_headers), Authorization: `Bearer ${token}` } }
339
: server;
341
>
return out;
342
>
}
343
344
/** Drops any header whose name is `authorization` (case-insensitive). */
345
>
function withoutAuthorizationHeaders(headers: Record<string, string> | undefined): Record<string, string> {
codexMcpServers.ts
346
>
const out: Record<string, string> = {};
347
>
if (headers) {
348
>
for (const [key, value] of Object.entries(headers)) {
349
>
if (key.toLowerCase() !== 'authorization') {
350
>
out[key] = value;
351
>
}
352
>
}
353
>
}
354
>
return out;
355
>
}
356
357
// #endregion