1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | import { IncomingHttpHeaders } from 'http';
|
11 |
|
12 | type StaticOrigin = boolean | string | RegExp | (boolean | string | RegExp)[];
|
13 |
|
14 | type CustomOrigin = (requestOrigin: string | undefined, callback: (err: Error | null, origin?: StaticOrigin) => void) => void;
|
15 |
|
16 | declare namespace e {
|
17 | interface CorsRequest {
|
18 | method?: string | undefined;
|
19 | headers: IncomingHttpHeaders;
|
20 | }
|
21 | interface CorsOptions {
|
22 | |
23 |
|
24 |
|
25 | origin?: StaticOrigin | CustomOrigin | undefined;
|
26 | |
27 |
|
28 |
|
29 | methods?: string | string[] | undefined;
|
30 | allowedHeaders?: string | string[] | undefined;
|
31 | exposedHeaders?: string | string[] | undefined;
|
32 | credentials?: boolean | undefined;
|
33 | maxAge?: number | undefined;
|
34 | |
35 |
|
36 |
|
37 | preflightContinue?: boolean | undefined;
|
38 | |
39 |
|
40 |
|
41 | optionsSuccessStatus?: number | undefined;
|
42 | }
|
43 | type CorsOptionsDelegate<T extends CorsRequest = CorsRequest> = (
|
44 | req: T,
|
45 | callback: (err: Error | null, options?: CorsOptions) => void,
|
46 | ) => void;
|
47 | }
|
48 |
|
49 | declare function e<T extends e.CorsRequest = e.CorsRequest>(
|
50 | options?: e.CorsOptions | e.CorsOptionsDelegate<T>,
|
51 | ): (
|
52 | req: T,
|
53 | res: {
|
54 | statusCode?: number | undefined;
|
55 | setHeader(key: string, value: string): any;
|
56 | end(): any;
|
57 | },
|
58 | next: (err?: any) => any,
|
59 | ) => void;
|
60 | export = e;
|