export function webHeaderToNodeHeaders()

in packages/dubbo-node/src/node-universal-header.ts [64:93]


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;
}