1 |
|
2 | import { IncomingMessage, ServerResponse } from "http"
|
3 | import contentSecurityPolicy, { ContentSecurityPolicyOptions } from "./middlewares/content-security-policy"
|
4 | import crossOriginEmbedderPolicy from "./middlewares/cross-origin-embedder-policy"
|
5 | import crossOriginOpenerPolicy, { CrossOriginOpenerPolicyOptions } from "./middlewares/cross-origin-opener-policy"
|
6 | import crossOriginResourcePolicy, { CrossOriginResourcePolicyOptions } from "./middlewares/cross-origin-resource-policy"
|
7 | import expectCt, { ExpectCtOptions } from "./middlewares/expect-ct"
|
8 | import originAgentCluster from "./middlewares/origin-agent-cluster"
|
9 | import referrerPolicy, { ReferrerPolicyOptions } from "./middlewares/referrer-policy"
|
10 | import strictTransportSecurity, { StrictTransportSecurityOptions } from "./middlewares/strict-transport-security"
|
11 | import xContentTypeOptions from "./middlewares/x-content-type-options"
|
12 | import xDnsPrefetchControl, { XDnsPrefetchControlOptions } from "./middlewares/x-dns-prefetch-control"
|
13 | import xDownloadOptions from "./middlewares/x-download-options"
|
14 | import xFrameOptions, { XFrameOptionsOptions } from "./middlewares/x-frame-options"
|
15 | import xPermittedCrossDomainPolicies, { XPermittedCrossDomainPoliciesOptions } from "./middlewares/x-permitted-cross-domain-policies"
|
16 | import xPoweredBy from "./middlewares/x-powered-by"
|
17 | import xXssProtection from "./middlewares/x-xss-protection"
|
18 | interface HelmetOptions {
|
19 | contentSecurityPolicy?: ContentSecurityPolicyOptions | boolean
|
20 | crossOriginEmbedderPolicy?: boolean
|
21 | crossOriginOpenerPolicy?: CrossOriginOpenerPolicyOptions | boolean
|
22 | crossOriginResourcePolicy?: CrossOriginResourcePolicyOptions | boolean
|
23 | dnsPrefetchControl?: XDnsPrefetchControlOptions | boolean
|
24 | expectCt?: ExpectCtOptions | boolean
|
25 | frameguard?: XFrameOptionsOptions | boolean
|
26 | hidePoweredBy?: boolean
|
27 | hsts?: StrictTransportSecurityOptions | boolean
|
28 | ieNoOpen?: boolean
|
29 | noSniff?: boolean
|
30 | originAgentCluster?: boolean
|
31 | permittedCrossDomainPolicies?: XPermittedCrossDomainPoliciesOptions | boolean
|
32 | referrerPolicy?: ReferrerPolicyOptions | boolean
|
33 | xssFilter?: boolean
|
34 | }
|
35 | interface Helmet {
|
36 | (options?: Readonly<HelmetOptions>): (req: IncomingMessage, res: ServerResponse, next: (err?: unknown) => void) => void
|
37 | contentSecurityPolicy: typeof contentSecurityPolicy
|
38 | crossOriginEmbedderPolicy: typeof crossOriginEmbedderPolicy
|
39 | crossOriginOpenerPolicy: typeof crossOriginOpenerPolicy
|
40 | crossOriginResourcePolicy: typeof crossOriginResourcePolicy
|
41 | dnsPrefetchControl: typeof xDnsPrefetchControl
|
42 | expectCt: typeof expectCt
|
43 | frameguard: typeof xFrameOptions
|
44 | hidePoweredBy: typeof xPoweredBy
|
45 | hsts: typeof strictTransportSecurity
|
46 | ieNoOpen: typeof xDownloadOptions
|
47 | noSniff: typeof xContentTypeOptions
|
48 | originAgentCluster: typeof originAgentCluster
|
49 | permittedCrossDomainPolicies: typeof xPermittedCrossDomainPolicies
|
50 | referrerPolicy: typeof referrerPolicy
|
51 | xssFilter: typeof xXssProtection
|
52 | featurePolicy: () => never
|
53 | hpkp: () => never
|
54 | noCache: () => never
|
55 | }
|
56 | declare const helmet: Helmet
|
57 | export = helmet
|