mcporter/src/runtime-header-utils.ts
2026-04-18 19:33:14 +01:00

24 lines
742 B
TypeScript

import { resolveEnvPlaceholders } from './env.js';
// materializeHeaders resolves environment placeholders in server header definitions.
export function materializeHeaders(
headers: Record<string, string> | undefined,
serverName: string
): Record<string, string> | undefined {
if (!headers) {
return undefined;
}
const resolved: Record<string, string> = {};
for (const [key, value] of Object.entries(headers)) {
try {
resolved[key] = resolveEnvPlaceholders(value);
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
throw new Error(`Failed to resolve header '${key}' for server '${serverName}': ${message}`, { cause: error });
}
}
return resolved;
}