ws-nextjs-app/utilities/removeSensitiveHeaders/index.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { IncomingHttpHeaders } from 'http';

export default function removeSensitiveHeaders(headers?: IncomingHttpHeaders) {
  if (!headers) return {};

  const sensitiveHeadersArray = process.env.SENSITIVE_HTTP_HEADERS?.split(
    ',',
  )?.map(el => el.trim());

  return Object.keys(headers)
    ?.filter(objKey => !sensitiveHeadersArray?.includes(objKey))
    ?.reduce<IncomingHttpHeaders>((newObj, key) => {
      return { ...newObj, [key]: headers[key] };
    }, {});
}