mcp-graphql

by blurrah
Verified
MIT License
119
37
  • Apple
/** * Parse and merge headers from various sources * @param configHeaders - Default headers from configuration * @param inputHeaders - Headers provided by the user (string or object) * @returns Merged headers object */ export function parseAndMergeHeaders( configHeaders: Record<string, string>, inputHeaders?: string | Record<string, string> ): Record<string, string> { // Parse headers if they're provided as a string let parsedHeaders: Record<string, string> = {}; if (typeof inputHeaders === 'string') { try { parsedHeaders = JSON.parse(inputHeaders); } catch (e) { throw new Error(`Invalid headers JSON: ${e}`); } } else if (inputHeaders) { parsedHeaders = inputHeaders; } // Merge with config headers (config headers are overridden by input headers) return { ...configHeaders, ...parsedHeaders }; }