helmet-csp
Version:
Content Security Policy middleware
29 lines (26 loc) • 1.28 kB
text/typescript
import {IncomingMessage, ServerResponse} from "node:http"
type ContentSecurityPolicyDirectiveValueFunction = (req: IncomingMessage, res: ServerResponse) => string
type ContentSecurityPolicyDirectiveValue = string | ContentSecurityPolicyDirectiveValueFunction
type ContentSecurityPolicyDirectives = Record<string, null | Iterable<ContentSecurityPolicyDirectiveValue> | typeof dangerouslyDisableDefaultSrc>
type ContentSecurityPolicyOptions = {
reportOnly?: boolean
} & (
| {
useDefaults?: true
directives?: ContentSecurityPolicyDirectives
}
| {
useDefaults: false
directives: ContentSecurityPolicyDirectives
}
)
type 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 {dangerouslyDisableDefaultSrc, contentSecurityPolicy as default, getDefaultDirectives}
export type {ContentSecurityPolicyOptions}