/** * CREDITS * https://github.com/helmetjs/helmet/blob/main/middlewares/content-security-policy/index.ts */ import type { IncomingMessage, ServerResponse } from 'node:http'; type ContentSecurityPolicyDirectiveValueFunction = (req: IncomingMessage, res: ServerResponse) => string; type ContentSecurityPolicyDirectiveValue = string | ContentSecurityPolicyDirectiveValueFunction; export interface ContentSecurityPolicyOptions { useDefaults?: boolean; directives?: Record | typeof dangerouslyDisableDefaultSrc>; reportOnly?: boolean; } interface ContentSecurityPolicy { (options?: Readonly): (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => void) => void; getDefaultDirectives: typeof getDefaultDirectives; dangerouslyDisableDefaultSrc: typeof dangerouslyDisableDefaultSrc; } declare const dangerouslyDisableDefaultSrc: unique symbol; declare const getDefaultDirectives: () => Record>; declare const contentSecurityPolicy: ContentSecurityPolicy; export default contentSecurityPolicy; export { dangerouslyDisableDefaultSrc, getDefaultDirectives };