in packages/dubbo-node/src/node-universal-header.ts [61:93]
export function webHeaderToNodeHeaders(
headersInit: HeadersInit
): http.OutgoingHttpHeaders;
export function webHeaderToNodeHeaders(
headersInit: HeadersInit | undefined
): http.OutgoingHttpHeaders | undefined;
export function webHeaderToNodeHeaders(
headersInit: HeadersInit | undefined
): http.OutgoingHttpHeaders | undefined {
if (headersInit === undefined) {
return undefined;
}
const o = Object.create(null) as http.OutgoingHttpHeaders;
if (Array.isArray(headersInit)) {
for (const [key, value] of headersInit) {
const k = key.toLowerCase();
o[k] = value;
}
} else if ("forEach" in headersInit) {
if (typeof headersInit.forEach == "function") {
headersInit.forEach((value, key) => {
const k = key.toLowerCase();
o[k] = value;
});
}
} else {
for (const [key, value] of Object.entries<string>(headersInit)) {
const k = key.toLowerCase();
o[k] = value;
}
}
return o;
}