UNPKG

@adonisjs/shield

Version:

A middleware for AdonisJS to keep web applications secure from common web attacks

23 lines (22 loc) 1.23 kB
/** * 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<string, null | Iterable<ContentSecurityPolicyDirectiveValue> | typeof dangerouslyDisableDefaultSrc>; reportOnly?: boolean; } interface ContentSecurityPolicy { (options?: Readonly<ContentSecurityPolicyOptions>): (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => void) => void; getDefaultDirectives: typeof getDefaultDirectives; dangerouslyDisableDefaultSrc: typeof dangerouslyDisableDefaultSrc; } declare const dangerouslyDisableDefaultSrc: unique symbol; declare const getDefaultDirectives: () => Record<string, Iterable<ContentSecurityPolicyDirectiveValue>>; declare const contentSecurityPolicy: ContentSecurityPolicy; export default contentSecurityPolicy; export { dangerouslyDisableDefaultSrc, getDefaultDirectives };