@eggjs/security 4.0.1 → 5.0.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/README.md +46 -66
  2. package/README.zh-CN.md +56 -68
  3. package/dist/agent.d.ts +10 -0
  4. package/dist/agent.js +15 -0
  5. package/dist/app/extend/agent.d.ts +9 -0
  6. package/dist/app/extend/agent.js +12 -0
  7. package/dist/app/extend/application.d.ts +12 -0
  8. package/dist/app/extend/application.js +32 -0
  9. package/dist/app/extend/context.d.ts +61 -0
  10. package/dist/app/extend/context.js +191 -0
  11. package/dist/app/extend/helper.d.ts +24 -0
  12. package/dist/app/extend/helper.js +7 -0
  13. package/dist/app/extend/response.d.ts +39 -0
  14. package/dist/app/extend/response.js +70 -0
  15. package/dist/app/middleware/securities.d.ts +8 -0
  16. package/dist/app/middleware/securities.js +39 -0
  17. package/dist/app.d.ts +10 -0
  18. package/dist/app.js +24 -0
  19. package/dist/config/config.default.d.ts +870 -0
  20. package/dist/config/config.default.js +166 -0
  21. package/dist/config/config.local.d.ts +6 -0
  22. package/dist/config/config.local.js +5 -0
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.js +5 -0
  25. package/dist/lib/extend/safe_curl.d.ts +20 -0
  26. package/dist/lib/extend/safe_curl.js +19 -0
  27. package/dist/lib/helper/cliFilter.d.ts +7 -0
  28. package/dist/lib/helper/cliFilter.js +18 -0
  29. package/dist/lib/helper/escape.d.ts +2 -0
  30. package/dist/lib/helper/escape.js +7 -0
  31. package/dist/lib/helper/escapeShellArg.d.ts +4 -0
  32. package/dist/lib/helper/escapeShellArg.js +7 -0
  33. package/dist/lib/helper/escapeShellCmd.d.ts +4 -0
  34. package/dist/lib/helper/escapeShellCmd.js +15 -0
  35. package/dist/lib/helper/index.d.ts +24 -0
  36. package/dist/lib/helper/index.js +25 -0
  37. package/dist/lib/helper/shtml.d.ts +6 -0
  38. package/dist/lib/helper/shtml.js +53 -0
  39. package/dist/lib/helper/sjs.d.ts +7 -0
  40. package/dist/lib/helper/sjs.js +36 -0
  41. package/dist/lib/helper/sjson.d.ts +4 -0
  42. package/dist/lib/helper/sjson.js +32 -0
  43. package/dist/lib/helper/spath.d.ts +7 -0
  44. package/dist/lib/helper/spath.js +16 -0
  45. package/dist/lib/helper/surl.d.ts +6 -0
  46. package/dist/lib/helper/surl.js +25 -0
  47. package/dist/lib/middlewares/csp.d.ts +7 -0
  48. package/dist/lib/middlewares/csp.js +46 -0
  49. package/dist/lib/middlewares/csrf.d.ts +7 -0
  50. package/dist/lib/middlewares/csrf.js +33 -0
  51. package/dist/lib/middlewares/dta.d.ts +6 -0
  52. package/dist/lib/middlewares/dta.js +13 -0
  53. package/dist/lib/middlewares/hsts.d.ts +7 -0
  54. package/dist/lib/middlewares/hsts.js +19 -0
  55. package/dist/lib/middlewares/index.d.ts +18 -0
  56. package/dist/lib/middlewares/index.js +27 -0
  57. package/dist/lib/middlewares/methodnoallow.d.ts +6 -0
  58. package/dist/lib/middlewares/methodnoallow.js +15 -0
  59. package/dist/lib/middlewares/noopen.d.ts +7 -0
  60. package/dist/lib/middlewares/noopen.js +17 -0
  61. package/dist/lib/middlewares/nosniff.d.ts +7 -0
  62. package/dist/lib/middlewares/nosniff.js +27 -0
  63. package/dist/lib/middlewares/referrerPolicy.d.ts +7 -0
  64. package/dist/lib/middlewares/referrerPolicy.js +31 -0
  65. package/dist/lib/middlewares/xframe.d.ts +7 -0
  66. package/dist/lib/middlewares/xframe.js +18 -0
  67. package/dist/lib/middlewares/xssProtection.d.ts +7 -0
  68. package/dist/lib/middlewares/xssProtection.js +17 -0
  69. package/dist/lib/utils.d.ts +24 -0
  70. package/dist/lib/utils.js +127 -0
  71. package/dist/types.d.ts +38 -0
  72. package/dist/types.js +1 -0
  73. package/package.json +75 -71
  74. package/dist/commonjs/agent.d.ts +0 -6
  75. package/dist/commonjs/agent.js +0 -14
  76. package/dist/commonjs/app/extend/agent.d.ts +0 -5
  77. package/dist/commonjs/app/extend/agent.js +0 -11
  78. package/dist/commonjs/app/extend/application.d.ts +0 -16
  79. package/dist/commonjs/app/extend/application.js +0 -35
  80. package/dist/commonjs/app/extend/context.d.ts +0 -68
  81. package/dist/commonjs/app/extend/context.js +0 -283
  82. package/dist/commonjs/app/extend/helper.d.ts +0 -12
  83. package/dist/commonjs/app/extend/helper.js +0 -10
  84. package/dist/commonjs/app/extend/response.d.ts +0 -41
  85. package/dist/commonjs/app/extend/response.js +0 -85
  86. package/dist/commonjs/app/middleware/securities.d.ts +0 -4
  87. package/dist/commonjs/app/middleware/securities.js +0 -55
  88. package/dist/commonjs/app.d.ts +0 -6
  89. package/dist/commonjs/app.js +0 -29
  90. package/dist/commonjs/config/config.default.d.ts +0 -871
  91. package/dist/commonjs/config/config.default.js +0 -357
  92. package/dist/commonjs/config/config.local.d.ts +0 -5
  93. package/dist/commonjs/config/config.local.js +0 -10
  94. package/dist/commonjs/index.d.ts +0 -1
  95. package/dist/commonjs/index.js +0 -4
  96. package/dist/commonjs/lib/extend/safe_curl.d.ts +0 -16
  97. package/dist/commonjs/lib/extend/safe_curl.js +0 -28
  98. package/dist/commonjs/lib/helper/cliFilter.d.ts +0 -4
  99. package/dist/commonjs/lib/helper/cliFilter.js +0 -20
  100. package/dist/commonjs/lib/helper/escape.d.ts +0 -2
  101. package/dist/commonjs/lib/helper/escape.js +0 -8
  102. package/dist/commonjs/lib/helper/escapeShellArg.d.ts +0 -1
  103. package/dist/commonjs/lib/helper/escapeShellArg.js +0 -8
  104. package/dist/commonjs/lib/helper/escapeShellCmd.d.ts +0 -1
  105. package/dist/commonjs/lib/helper/escapeShellCmd.js +0 -17
  106. package/dist/commonjs/lib/helper/index.d.ts +0 -21
  107. package/dist/commonjs/lib/helper/index.js +0 -26
  108. package/dist/commonjs/lib/helper/shtml.d.ts +0 -2
  109. package/dist/commonjs/lib/helper/shtml.js +0 -76
  110. package/dist/commonjs/lib/helper/sjs.d.ts +0 -4
  111. package/dist/commonjs/lib/helper/sjs.js +0 -52
  112. package/dist/commonjs/lib/helper/sjson.d.ts +0 -1
  113. package/dist/commonjs/lib/helper/sjson.js +0 -45
  114. package/dist/commonjs/lib/helper/spath.d.ts +0 -5
  115. package/dist/commonjs/lib/helper/spath.js +0 -28
  116. package/dist/commonjs/lib/helper/surl.d.ts +0 -2
  117. package/dist/commonjs/lib/helper/surl.js +0 -33
  118. package/dist/commonjs/lib/middlewares/csp.d.ts +0 -4
  119. package/dist/commonjs/lib/middlewares/csp.js +0 -68
  120. package/dist/commonjs/lib/middlewares/csrf.d.ts +0 -4
  121. package/dist/commonjs/lib/middlewares/csrf.js +0 -42
  122. package/dist/commonjs/lib/middlewares/dta.d.ts +0 -3
  123. package/dist/commonjs/lib/middlewares/dta.js +0 -14
  124. package/dist/commonjs/lib/middlewares/hsts.d.ts +0 -4
  125. package/dist/commonjs/lib/middlewares/hsts.js +0 -23
  126. package/dist/commonjs/lib/middlewares/index.d.ts +0 -13
  127. package/dist/commonjs/lib/middlewares/index.js +0 -28
  128. package/dist/commonjs/lib/middlewares/methodnoallow.d.ts +0 -3
  129. package/dist/commonjs/lib/middlewares/methodnoallow.js +0 -22
  130. package/dist/commonjs/lib/middlewares/noopen.d.ts +0 -4
  131. package/dist/commonjs/lib/middlewares/noopen.js +0 -17
  132. package/dist/commonjs/lib/middlewares/nosniff.d.ts +0 -4
  133. package/dist/commonjs/lib/middlewares/nosniff.js +0 -30
  134. package/dist/commonjs/lib/middlewares/referrerPolicy.d.ts +0 -4
  135. package/dist/commonjs/lib/middlewares/referrerPolicy.js +0 -36
  136. package/dist/commonjs/lib/middlewares/xframe.d.ts +0 -4
  137. package/dist/commonjs/lib/middlewares/xframe.js +0 -19
  138. package/dist/commonjs/lib/middlewares/xssProtection.d.ts +0 -4
  139. package/dist/commonjs/lib/middlewares/xssProtection.js +0 -16
  140. package/dist/commonjs/lib/utils.d.ts +0 -19
  141. package/dist/commonjs/lib/utils.js +0 -206
  142. package/dist/commonjs/package.json +0 -3
  143. package/dist/commonjs/types.d.ts +0 -10
  144. package/dist/commonjs/types.js +0 -5
  145. package/dist/esm/agent.d.ts +0 -6
  146. package/dist/esm/agent.js +0 -11
  147. package/dist/esm/app/extend/agent.d.ts +0 -5
  148. package/dist/esm/app/extend/agent.js +0 -8
  149. package/dist/esm/app/extend/application.d.ts +0 -16
  150. package/dist/esm/app/extend/application.js +0 -32
  151. package/dist/esm/app/extend/context.d.ts +0 -68
  152. package/dist/esm/app/extend/context.js +0 -244
  153. package/dist/esm/app/extend/helper.d.ts +0 -12
  154. package/dist/esm/app/extend/helper.js +0 -5
  155. package/dist/esm/app/extend/response.d.ts +0 -41
  156. package/dist/esm/app/extend/response.js +0 -82
  157. package/dist/esm/app/middleware/securities.d.ts +0 -4
  158. package/dist/esm/app/middleware/securities.js +0 -50
  159. package/dist/esm/app.d.ts +0 -6
  160. package/dist/esm/app.js +0 -26
  161. package/dist/esm/config/config.default.d.ts +0 -871
  162. package/dist/esm/config/config.default.js +0 -351
  163. package/dist/esm/config/config.local.d.ts +0 -5
  164. package/dist/esm/config/config.local.js +0 -8
  165. package/dist/esm/index.d.ts +0 -1
  166. package/dist/esm/index.js +0 -2
  167. package/dist/esm/lib/extend/safe_curl.d.ts +0 -16
  168. package/dist/esm/lib/extend/safe_curl.js +0 -25
  169. package/dist/esm/lib/helper/cliFilter.d.ts +0 -4
  170. package/dist/esm/lib/helper/cliFilter.js +0 -17
  171. package/dist/esm/lib/helper/escape.d.ts +0 -2
  172. package/dist/esm/lib/helper/escape.js +0 -3
  173. package/dist/esm/lib/helper/escapeShellArg.d.ts +0 -1
  174. package/dist/esm/lib/helper/escapeShellArg.js +0 -5
  175. package/dist/esm/lib/helper/escapeShellCmd.d.ts +0 -1
  176. package/dist/esm/lib/helper/escapeShellCmd.js +0 -14
  177. package/dist/esm/lib/helper/index.d.ts +0 -21
  178. package/dist/esm/lib/helper/index.js +0 -21
  179. package/dist/esm/lib/helper/shtml.d.ts +0 -2
  180. package/dist/esm/lib/helper/shtml.js +0 -70
  181. package/dist/esm/lib/helper/sjs.d.ts +0 -4
  182. package/dist/esm/lib/helper/sjs.js +0 -49
  183. package/dist/esm/lib/helper/sjson.d.ts +0 -1
  184. package/dist/esm/lib/helper/sjson.js +0 -39
  185. package/dist/esm/lib/helper/spath.d.ts +0 -5
  186. package/dist/esm/lib/helper/spath.js +0 -25
  187. package/dist/esm/lib/helper/surl.d.ts +0 -2
  188. package/dist/esm/lib/helper/surl.js +0 -30
  189. package/dist/esm/lib/middlewares/csp.d.ts +0 -4
  190. package/dist/esm/lib/middlewares/csp.js +0 -63
  191. package/dist/esm/lib/middlewares/csrf.d.ts +0 -4
  192. package/dist/esm/lib/middlewares/csrf.js +0 -37
  193. package/dist/esm/lib/middlewares/dta.d.ts +0 -3
  194. package/dist/esm/lib/middlewares/dta.js +0 -12
  195. package/dist/esm/lib/middlewares/hsts.d.ts +0 -4
  196. package/dist/esm/lib/middlewares/hsts.js +0 -21
  197. package/dist/esm/lib/middlewares/index.d.ts +0 -13
  198. package/dist/esm/lib/middlewares/index.js +0 -23
  199. package/dist/esm/lib/middlewares/methodnoallow.d.ts +0 -3
  200. package/dist/esm/lib/middlewares/methodnoallow.js +0 -20
  201. package/dist/esm/lib/middlewares/noopen.d.ts +0 -4
  202. package/dist/esm/lib/middlewares/noopen.js +0 -15
  203. package/dist/esm/lib/middlewares/nosniff.d.ts +0 -4
  204. package/dist/esm/lib/middlewares/nosniff.js +0 -28
  205. package/dist/esm/lib/middlewares/referrerPolicy.d.ts +0 -4
  206. package/dist/esm/lib/middlewares/referrerPolicy.js +0 -34
  207. package/dist/esm/lib/middlewares/xframe.d.ts +0 -4
  208. package/dist/esm/lib/middlewares/xframe.js +0 -17
  209. package/dist/esm/lib/middlewares/xssProtection.d.ts +0 -4
  210. package/dist/esm/lib/middlewares/xssProtection.js +0 -14
  211. package/dist/esm/lib/utils.d.ts +0 -19
  212. package/dist/esm/lib/utils.js +0 -194
  213. package/dist/esm/package.json +0 -3
  214. package/dist/esm/types.d.ts +0 -10
  215. package/dist/esm/types.js +0 -3
  216. package/dist/package.json +0 -4
  217. package/src/agent.ts +0 -14
  218. package/src/app/extend/agent.ts +0 -14
  219. package/src/app/extend/application.ts +0 -51
  220. package/src/app/extend/context.ts +0 -285
  221. package/src/app/extend/helper.ts +0 -5
  222. package/src/app/extend/response.ts +0 -95
  223. package/src/app/middleware/securities.ts +0 -63
  224. package/src/app.ts +0 -31
  225. package/src/config/config.default.ts +0 -379
  226. package/src/config/config.local.ts +0 -9
  227. package/src/index.ts +0 -1
  228. package/src/lib/extend/safe_curl.ts +0 -35
  229. package/src/lib/helper/cliFilter.ts +0 -20
  230. package/src/lib/helper/escape.ts +0 -3
  231. package/src/lib/helper/escapeShellArg.ts +0 -4
  232. package/src/lib/helper/escapeShellCmd.ts +0 -16
  233. package/src/lib/helper/index.ts +0 -21
  234. package/src/lib/helper/shtml.ts +0 -77
  235. package/src/lib/helper/sjs.ts +0 -57
  236. package/src/lib/helper/sjson.ts +0 -35
  237. package/src/lib/helper/spath.ts +0 -27
  238. package/src/lib/helper/surl.ts +0 -35
  239. package/src/lib/middlewares/csp.ts +0 -70
  240. package/src/lib/middlewares/csrf.ts +0 -44
  241. package/src/lib/middlewares/dta.ts +0 -13
  242. package/src/lib/middlewares/hsts.ts +0 -24
  243. package/src/lib/middlewares/index.ts +0 -23
  244. package/src/lib/middlewares/methodnoallow.ts +0 -23
  245. package/src/lib/middlewares/noopen.ts +0 -18
  246. package/src/lib/middlewares/nosniff.ts +0 -32
  247. package/src/lib/middlewares/referrerPolicy.ts +0 -39
  248. package/src/lib/middlewares/xframe.ts +0 -20
  249. package/src/lib/middlewares/xssProtection.ts +0 -17
  250. package/src/lib/utils.ts +0 -208
  251. package/src/types.ts +0 -16
  252. package/src/typings/index.d.ts +0 -4
@@ -1,871 +0,0 @@
1
- import z from 'zod';
2
- import { Context } from '@eggjs/core';
3
- declare const CSRFSupportRequestItem: z.ZodObject<{
4
- path: z.ZodType<RegExp, z.ZodTypeDef, RegExp>;
5
- methods: z.ZodArray<z.ZodString, "many">;
6
- }, "strip", z.ZodTypeAny, {
7
- path: RegExp;
8
- methods: string[];
9
- }, {
10
- path: RegExp;
11
- methods: string[];
12
- }>;
13
- export type CSRFSupportRequestItem = z.infer<typeof CSRFSupportRequestItem>;
14
- export declare const LookupAddress: z.ZodObject<{
15
- address: z.ZodString;
16
- family: z.ZodNumber;
17
- }, "strip", z.ZodTypeAny, {
18
- address: string;
19
- family: number;
20
- }, {
21
- address: string;
22
- family: number;
23
- }>;
24
- export type LookupAddress = z.infer<typeof LookupAddress>;
25
- declare const SSRFCheckAddressFunction: z.ZodFunction<z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodObject<{
26
- address: z.ZodString;
27
- family: z.ZodNumber;
28
- }, "strip", z.ZodTypeAny, {
29
- address: string;
30
- family: number;
31
- }, {
32
- address: string;
33
- family: number;
34
- }>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
35
- address: z.ZodString;
36
- family: z.ZodNumber;
37
- }, "strip", z.ZodTypeAny, {
38
- address: string;
39
- family: number;
40
- }, {
41
- address: string;
42
- family: number;
43
- }>]>, "many">]>, z.ZodUnion<[z.ZodNumber, z.ZodString]>, z.ZodString], z.ZodUnknown>, z.ZodBoolean>;
44
- /**
45
- * SSRF check address function
46
- * `(address, family, hostname) => boolean`
47
- */
48
- export type SSRFCheckAddressFunction = z.infer<typeof SSRFCheckAddressFunction>;
49
- export declare const SecurityMiddlewareName: z.ZodEnum<["csrf", "hsts", "methodnoallow", "noopen", "nosniff", "csp", "xssProtection", "xframe", "dta"]>;
50
- export type SecurityMiddlewareName = z.infer<typeof SecurityMiddlewareName>;
51
- /**
52
- * (ctx) => boolean
53
- */
54
- declare const IgnoreOrMatchHandler: z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>;
55
- export type IgnoreOrMatchHandler = z.infer<typeof IgnoreOrMatchHandler>;
56
- declare const IgnoreOrMatch: z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>;
57
- export type IgnoreOrMatch = z.infer<typeof IgnoreOrMatch>;
58
- declare const IgnoreOrMatchOption: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
59
- export type IgnoreOrMatchOption = z.infer<typeof IgnoreOrMatchOption>;
60
- /**
61
- * security options
62
- * @member Config#security
63
- */
64
- export declare const SecurityConfig: z.ZodObject<{
65
- /**
66
- * domain white list
67
- *
68
- * Default to `[]`
69
- */
70
- domainWhiteList: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
71
- /**
72
- * protocol white list
73
- *
74
- * Default to `[]`
75
- */
76
- protocolWhiteList: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
77
- /**
78
- * default open security middleware
79
- *
80
- * Default to `'csrf,hsts,methodnoallow,noopen,nosniff,csp,xssProtection,xframe,dta'`
81
- */
82
- defaultMiddleware: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodEnum<["csrf", "hsts", "methodnoallow", "noopen", "nosniff", "csp", "xssProtection", "xframe", "dta"]>, "many">]>>;
83
- /**
84
- * whether defend csrf attack
85
- */
86
- csrf: z.ZodEffects<z.ZodDefault<z.ZodObject<{
87
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
88
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
89
- /**
90
- * Default to `true`
91
- */
92
- enable: z.ZodDefault<z.ZodBoolean>;
93
- /**
94
- * csrf token detect source type
95
- *
96
- * Default to `'ctoken'`
97
- */
98
- type: z.ZodDefault<z.ZodEnum<["ctoken", "referer", "all", "any"]>>;
99
- /**
100
- * ignore json request
101
- *
102
- * Default to `false`
103
- *
104
- * @deprecated is not safe now, don't use it
105
- */
106
- ignoreJSON: z.ZodDefault<z.ZodBoolean>;
107
- /**
108
- * csrf token cookie name
109
- *
110
- * Default to `'csrfToken'`
111
- */
112
- cookieName: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
113
- /**
114
- * csrf token session name
115
- *
116
- * Default to `'csrfToken'`
117
- */
118
- sessionName: z.ZodDefault<z.ZodString>;
119
- /**
120
- * csrf token request header name
121
- *
122
- * Default to `'x-csrf-token'`
123
- */
124
- headerName: z.ZodDefault<z.ZodString>;
125
- /**
126
- * csrf token request body field name
127
- *
128
- * Default to `'_csrf'`
129
- */
130
- bodyName: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
131
- /**
132
- * csrf token request query field name
133
- *
134
- * Default to `'_csrf'`
135
- */
136
- queryName: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
137
- /**
138
- * rotate csrf token when it is invalid
139
- *
140
- * Default to `false`
141
- */
142
- rotateWhenInvalid: z.ZodDefault<z.ZodBoolean>;
143
- /**
144
- * These config works when using `'ctoken'` type
145
- *
146
- * Default to `false`
147
- */
148
- useSession: z.ZodDefault<z.ZodBoolean>;
149
- /**
150
- * csrf token cookie domain setting,
151
- * can be `(ctx) => string` or `string`
152
- *
153
- * Default to `undefined`, auto set the cookie domain in the safe way
154
- */
155
- cookieDomain: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodString>]>>;
156
- /**
157
- * csrf token check requests config
158
- */
159
- supportedRequests: z.ZodDefault<z.ZodArray<z.ZodObject<{
160
- path: z.ZodType<RegExp, z.ZodTypeDef, RegExp>;
161
- methods: z.ZodArray<z.ZodString, "many">;
162
- }, "strip", z.ZodTypeAny, {
163
- path: RegExp;
164
- methods: string[];
165
- }, {
166
- path: RegExp;
167
- methods: string[];
168
- }>, "many">>;
169
- /**
170
- * referer or origin header white list.
171
- * It only works when using `'referer'` type
172
- *
173
- * Default to `[]`
174
- */
175
- refererWhiteList: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
176
- /**
177
- * csrf token cookie options
178
- *
179
- * Default to `{
180
- * signed: false,
181
- * httpOnly: false,
182
- * overwrite: true,
183
- * }`
184
- */
185
- cookieOptions: z.ZodDefault<z.ZodObject<{
186
- signed: z.ZodBoolean;
187
- httpOnly: z.ZodBoolean;
188
- overwrite: z.ZodBoolean;
189
- }, "strip", z.ZodTypeAny, {
190
- signed: boolean;
191
- httpOnly: boolean;
192
- overwrite: boolean;
193
- }, {
194
- signed: boolean;
195
- httpOnly: boolean;
196
- overwrite: boolean;
197
- }>>;
198
- }, "strip", z.ZodTypeAny, {
199
- type: "ctoken" | "referer" | "all" | "any";
200
- enable: boolean;
201
- ignoreJSON: boolean;
202
- cookieName: string | string[];
203
- sessionName: string;
204
- headerName: string;
205
- bodyName: string | string[];
206
- queryName: string | string[];
207
- rotateWhenInvalid: boolean;
208
- useSession: boolean;
209
- supportedRequests: {
210
- path: RegExp;
211
- methods: string[];
212
- }[];
213
- refererWhiteList: string[];
214
- cookieOptions: {
215
- signed: boolean;
216
- httpOnly: boolean;
217
- overwrite: boolean;
218
- };
219
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
220
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
221
- cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
222
- }, {
223
- type?: "ctoken" | "referer" | "all" | "any" | undefined;
224
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
225
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
226
- enable?: boolean | undefined;
227
- ignoreJSON?: boolean | undefined;
228
- cookieName?: string | string[] | undefined;
229
- sessionName?: string | undefined;
230
- headerName?: string | undefined;
231
- bodyName?: string | string[] | undefined;
232
- queryName?: string | string[] | undefined;
233
- rotateWhenInvalid?: boolean | undefined;
234
- useSession?: boolean | undefined;
235
- cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
236
- supportedRequests?: {
237
- path: RegExp;
238
- methods: string[];
239
- }[] | undefined;
240
- refererWhiteList?: string[] | undefined;
241
- cookieOptions?: {
242
- signed: boolean;
243
- httpOnly: boolean;
244
- overwrite: boolean;
245
- } | undefined;
246
- }>>, {
247
- type: "ctoken" | "referer" | "all" | "any";
248
- enable: boolean;
249
- ignoreJSON: boolean;
250
- cookieName: string | string[];
251
- sessionName: string;
252
- headerName: string;
253
- bodyName: string | string[];
254
- queryName: string | string[];
255
- rotateWhenInvalid: boolean;
256
- useSession: boolean;
257
- supportedRequests: {
258
- path: RegExp;
259
- methods: string[];
260
- }[];
261
- refererWhiteList: string[];
262
- cookieOptions: {
263
- signed: boolean;
264
- httpOnly: boolean;
265
- overwrite: boolean;
266
- };
267
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
268
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
269
- cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
270
- }, unknown>;
271
- /**
272
- * whether enable X-Frame-Options response header
273
- */
274
- xframe: z.ZodDefault<z.ZodObject<{
275
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
276
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
277
- /**
278
- * Default to `true`
279
- */
280
- enable: z.ZodDefault<z.ZodBoolean>;
281
- /**
282
- * X-Frame-Options value, can be `'DENY'`, `'SAMEORIGIN'`, `'ALLOW-FROM https://example.com'`
283
- *
284
- * Default to `'SAMEORIGIN'`
285
- */
286
- value: z.ZodDefault<z.ZodString>;
287
- }, "strip", z.ZodTypeAny, {
288
- value: string;
289
- enable: boolean;
290
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
291
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
292
- }, {
293
- value?: string | undefined;
294
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
295
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
296
- enable?: boolean | undefined;
297
- }>>;
298
- /**
299
- * whether enable Strict-Transport-Security response header
300
- */
301
- hsts: z.ZodDefault<z.ZodObject<{
302
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
303
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
304
- /**
305
- * Default to `false`
306
- */
307
- enable: z.ZodDefault<z.ZodBoolean>;
308
- /**
309
- * Max age of Strict-Transport-Security in seconds
310
- *
311
- * Default to `365 * 24 * 3600`
312
- */
313
- maxAge: z.ZodDefault<z.ZodNumber>;
314
- /**
315
- * Whether include sub domains
316
- *
317
- * Default to `false`
318
- */
319
- includeSubdomains: z.ZodDefault<z.ZodBoolean>;
320
- }, "strip", z.ZodTypeAny, {
321
- enable: boolean;
322
- maxAge: number;
323
- includeSubdomains: boolean;
324
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
325
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
326
- }, {
327
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
328
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
329
- enable?: boolean | undefined;
330
- maxAge?: number | undefined;
331
- includeSubdomains?: boolean | undefined;
332
- }>>;
333
- /**
334
- * whether enable Http Method filter
335
- */
336
- methodnoallow: z.ZodDefault<z.ZodObject<{
337
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
338
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
339
- /**
340
- * Default to `true`
341
- */
342
- enable: z.ZodDefault<z.ZodBoolean>;
343
- }, "strip", z.ZodTypeAny, {
344
- enable: boolean;
345
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
346
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
347
- }, {
348
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
349
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
350
- enable?: boolean | undefined;
351
- }>>;
352
- /**
353
- * whether enable IE automatically download open
354
- */
355
- noopen: z.ZodDefault<z.ZodObject<{
356
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
357
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
358
- /**
359
- * Default to `true`
360
- */
361
- enable: z.ZodDefault<z.ZodBoolean>;
362
- }, "strip", z.ZodTypeAny, {
363
- enable: boolean;
364
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
365
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
366
- }, {
367
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
368
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
369
- enable?: boolean | undefined;
370
- }>>;
371
- /**
372
- * whether enable IE8 automatically detect mime
373
- */
374
- nosniff: z.ZodDefault<z.ZodObject<{
375
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
376
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
377
- /**
378
- * Default to `true`
379
- */
380
- enable: z.ZodDefault<z.ZodBoolean>;
381
- }, "strip", z.ZodTypeAny, {
382
- enable: boolean;
383
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
384
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
385
- }, {
386
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
387
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
388
- enable?: boolean | undefined;
389
- }>>;
390
- /**
391
- * whether enable IE8 XSS Filter
392
- */
393
- xssProtection: z.ZodDefault<z.ZodObject<{
394
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
395
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
396
- /**
397
- * Default to `true`
398
- */
399
- enable: z.ZodDefault<z.ZodBoolean>;
400
- /**
401
- * X-XSS-Protection response header value
402
- *
403
- * Default to `'1; mode=block'`
404
- */
405
- value: z.ZodDefault<z.ZodString>;
406
- }, "strip", z.ZodTypeAny, {
407
- value: string;
408
- enable: boolean;
409
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
410
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
411
- }, {
412
- value?: string | undefined;
413
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
414
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
415
- enable?: boolean | undefined;
416
- }>>;
417
- /**
418
- * content security policy config
419
- */
420
- csp: z.ZodDefault<z.ZodObject<{
421
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
422
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
423
- /**
424
- * Default to `false`
425
- */
426
- enable: z.ZodDefault<z.ZodBoolean>;
427
- policy: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>>>;
428
- /**
429
- * whether enable report only mode
430
- * Default to `undefined`
431
- */
432
- reportOnly: z.ZodOptional<z.ZodBoolean>;
433
- /**
434
- * whether support IE
435
- * Default to `undefined`
436
- */
437
- supportIE: z.ZodOptional<z.ZodBoolean>;
438
- }, "strip", z.ZodTypeAny, {
439
- enable: boolean;
440
- policy: Record<string, string | boolean | string[]>;
441
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
442
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
443
- reportOnly?: boolean | undefined;
444
- supportIE?: boolean | undefined;
445
- }, {
446
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
447
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
448
- enable?: boolean | undefined;
449
- policy?: Record<string, string | boolean | string[]> | undefined;
450
- reportOnly?: boolean | undefined;
451
- supportIE?: boolean | undefined;
452
- }>>;
453
- /**
454
- * whether enable referrer policy
455
- * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
456
- */
457
- referrerPolicy: z.ZodDefault<z.ZodObject<{
458
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
459
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
460
- /**
461
- * Default to `false`
462
- */
463
- enable: z.ZodDefault<z.ZodBoolean>;
464
- /**
465
- * referrer policy value
466
- *
467
- * Default to `'no-referrer-when-downgrade'`
468
- */
469
- value: z.ZodDefault<z.ZodString>;
470
- }, "strip", z.ZodTypeAny, {
471
- value: string;
472
- enable: boolean;
473
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
474
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
475
- }, {
476
- value?: string | undefined;
477
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
478
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
479
- enable?: boolean | undefined;
480
- }>>;
481
- /**
482
- * whether enable auto avoid directory traversal attack
483
- */
484
- dta: z.ZodDefault<z.ZodObject<{
485
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
486
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
487
- /**
488
- * Default to `true`
489
- */
490
- enable: z.ZodDefault<z.ZodBoolean>;
491
- }, "strip", z.ZodTypeAny, {
492
- enable: boolean;
493
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
494
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
495
- }, {
496
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
497
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
498
- enable?: boolean | undefined;
499
- }>>;
500
- ssrf: z.ZodDefault<z.ZodObject<{
501
- ipBlackList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
502
- ipExceptionList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
503
- hostnameExceptionList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
504
- checkAddress: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodObject<{
505
- address: z.ZodString;
506
- family: z.ZodNumber;
507
- }, "strip", z.ZodTypeAny, {
508
- address: string;
509
- family: number;
510
- }, {
511
- address: string;
512
- family: number;
513
- }>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
514
- address: z.ZodString;
515
- family: z.ZodNumber;
516
- }, "strip", z.ZodTypeAny, {
517
- address: string;
518
- family: number;
519
- }, {
520
- address: string;
521
- family: number;
522
- }>]>, "many">]>, z.ZodUnion<[z.ZodNumber, z.ZodString]>, z.ZodString], z.ZodUnknown>, z.ZodBoolean>>;
523
- }, "strip", z.ZodTypeAny, {
524
- ipBlackList?: string[] | undefined;
525
- ipExceptionList?: string[] | undefined;
526
- hostnameExceptionList?: string[] | undefined;
527
- checkAddress?: ((args_0: string | {
528
- address: string;
529
- family: number;
530
- } | (string | {
531
- address: string;
532
- family: number;
533
- })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
534
- }, {
535
- ipBlackList?: string[] | undefined;
536
- ipExceptionList?: string[] | undefined;
537
- hostnameExceptionList?: string[] | undefined;
538
- checkAddress?: ((args_0: string | {
539
- address: string;
540
- family: number;
541
- } | (string | {
542
- address: string;
543
- family: number;
544
- })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
545
- }>>;
546
- match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
547
- ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
548
- __protocolWhiteListSet: z.ZodReadonly<z.ZodOptional<z.ZodSet<z.ZodString>>>;
549
- }, "strip", z.ZodTypeAny, {
550
- domainWhiteList: string[];
551
- protocolWhiteList: string[];
552
- csrf: {
553
- type: "ctoken" | "referer" | "all" | "any";
554
- enable: boolean;
555
- ignoreJSON: boolean;
556
- cookieName: string | string[];
557
- sessionName: string;
558
- headerName: string;
559
- bodyName: string | string[];
560
- queryName: string | string[];
561
- rotateWhenInvalid: boolean;
562
- useSession: boolean;
563
- supportedRequests: {
564
- path: RegExp;
565
- methods: string[];
566
- }[];
567
- refererWhiteList: string[];
568
- cookieOptions: {
569
- signed: boolean;
570
- httpOnly: boolean;
571
- overwrite: boolean;
572
- };
573
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
574
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
575
- cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
576
- };
577
- hsts: {
578
- enable: boolean;
579
- maxAge: number;
580
- includeSubdomains: boolean;
581
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
582
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
583
- };
584
- methodnoallow: {
585
- enable: boolean;
586
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
587
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
588
- };
589
- noopen: {
590
- enable: boolean;
591
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
592
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
593
- };
594
- nosniff: {
595
- enable: boolean;
596
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
597
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
598
- };
599
- csp: {
600
- enable: boolean;
601
- policy: Record<string, string | boolean | string[]>;
602
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
603
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
604
- reportOnly?: boolean | undefined;
605
- supportIE?: boolean | undefined;
606
- };
607
- xssProtection: {
608
- value: string;
609
- enable: boolean;
610
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
611
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
612
- };
613
- xframe: {
614
- value: string;
615
- enable: boolean;
616
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
617
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
618
- };
619
- dta: {
620
- enable: boolean;
621
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
622
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
623
- };
624
- defaultMiddleware: string | ("csrf" | "hsts" | "methodnoallow" | "noopen" | "nosniff" | "csp" | "xssProtection" | "xframe" | "dta")[];
625
- referrerPolicy: {
626
- value: string;
627
- enable: boolean;
628
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
629
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
630
- };
631
- ssrf: {
632
- ipBlackList?: string[] | undefined;
633
- ipExceptionList?: string[] | undefined;
634
- hostnameExceptionList?: string[] | undefined;
635
- checkAddress?: ((args_0: string | {
636
- address: string;
637
- family: number;
638
- } | (string | {
639
- address: string;
640
- family: number;
641
- })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
642
- };
643
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
644
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
645
- __protocolWhiteListSet?: ReadonlySet<string> | undefined;
646
- }, {
647
- domainWhiteList?: string[] | undefined;
648
- protocolWhiteList?: string[] | undefined;
649
- csrf?: unknown;
650
- hsts?: {
651
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
652
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
653
- enable?: boolean | undefined;
654
- maxAge?: number | undefined;
655
- includeSubdomains?: boolean | undefined;
656
- } | undefined;
657
- methodnoallow?: {
658
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
659
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
660
- enable?: boolean | undefined;
661
- } | undefined;
662
- noopen?: {
663
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
664
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
665
- enable?: boolean | undefined;
666
- } | undefined;
667
- nosniff?: {
668
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
669
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
670
- enable?: boolean | undefined;
671
- } | undefined;
672
- csp?: {
673
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
674
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
675
- enable?: boolean | undefined;
676
- policy?: Record<string, string | boolean | string[]> | undefined;
677
- reportOnly?: boolean | undefined;
678
- supportIE?: boolean | undefined;
679
- } | undefined;
680
- xssProtection?: {
681
- value?: string | undefined;
682
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
683
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
684
- enable?: boolean | undefined;
685
- } | undefined;
686
- xframe?: {
687
- value?: string | undefined;
688
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
689
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
690
- enable?: boolean | undefined;
691
- } | undefined;
692
- dta?: {
693
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
694
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
695
- enable?: boolean | undefined;
696
- } | undefined;
697
- defaultMiddleware?: string | ("csrf" | "hsts" | "methodnoallow" | "noopen" | "nosniff" | "csp" | "xssProtection" | "xframe" | "dta")[] | undefined;
698
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
699
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
700
- referrerPolicy?: {
701
- value?: string | undefined;
702
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
703
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
704
- enable?: boolean | undefined;
705
- } | undefined;
706
- ssrf?: {
707
- ipBlackList?: string[] | undefined;
708
- ipExceptionList?: string[] | undefined;
709
- hostnameExceptionList?: string[] | undefined;
710
- checkAddress?: ((args_0: string | {
711
- address: string;
712
- family: number;
713
- } | (string | {
714
- address: string;
715
- family: number;
716
- })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
717
- } | undefined;
718
- __protocolWhiteListSet?: ReadonlySet<string> | undefined;
719
- }>;
720
- export type SecurityConfig = z.infer<typeof SecurityConfig>;
721
- declare const SecurityHelperOnTagAttrHandler: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodString, z.ZodString, z.ZodBoolean], z.ZodUnknown>, z.ZodUnion<[z.ZodString, z.ZodVoid]>>;
722
- /**
723
- * (tag: string, name: string, value: string, isWhiteAttr: boolean) => string | void
724
- */
725
- export type SecurityHelperOnTagAttrHandler = z.infer<typeof SecurityHelperOnTagAttrHandler>;
726
- export declare const SecurityHelperConfig: z.ZodObject<{
727
- shtml: z.ZodDefault<z.ZodObject<{
728
- /**
729
- * tag attribute white list
730
- */
731
- whiteList: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
732
- /**
733
- * domain white list
734
- * @deprecated use `config.security.domainWhiteList` instead
735
- */
736
- domainWhiteList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
737
- /**
738
- * tag attribute handler
739
- */
740
- onTagAttr: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodString, z.ZodString, z.ZodBoolean], z.ZodUnknown>, z.ZodUnion<[z.ZodString, z.ZodVoid]>>>;
741
- }, "strip", z.ZodTypeAny, {
742
- domainWhiteList?: string[] | undefined;
743
- whiteList?: Record<string, string[]> | undefined;
744
- onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
745
- }, {
746
- domainWhiteList?: string[] | undefined;
747
- whiteList?: Record<string, string[]> | undefined;
748
- onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
749
- }>>;
750
- }, "strip", z.ZodTypeAny, {
751
- shtml: {
752
- domainWhiteList?: string[] | undefined;
753
- whiteList?: Record<string, string[]> | undefined;
754
- onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
755
- };
756
- }, {
757
- shtml?: {
758
- domainWhiteList?: string[] | undefined;
759
- whiteList?: Record<string, string[]> | undefined;
760
- onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
761
- } | undefined;
762
- }>;
763
- export type SecurityHelperConfig = z.infer<typeof SecurityHelperConfig>;
764
- declare const _default: {
765
- security: {
766
- domainWhiteList: string[];
767
- protocolWhiteList: string[];
768
- csrf: {
769
- type: "ctoken" | "referer" | "all" | "any";
770
- enable: boolean;
771
- ignoreJSON: boolean;
772
- cookieName: string | string[];
773
- sessionName: string;
774
- headerName: string;
775
- bodyName: string | string[];
776
- queryName: string | string[];
777
- rotateWhenInvalid: boolean;
778
- useSession: boolean;
779
- supportedRequests: {
780
- path: RegExp;
781
- methods: string[];
782
- }[];
783
- refererWhiteList: string[];
784
- cookieOptions: {
785
- signed: boolean;
786
- httpOnly: boolean;
787
- overwrite: boolean;
788
- };
789
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
790
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
791
- cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
792
- };
793
- hsts: {
794
- enable: boolean;
795
- maxAge: number;
796
- includeSubdomains: boolean;
797
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
798
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
799
- };
800
- methodnoallow: {
801
- enable: boolean;
802
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
803
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
804
- };
805
- noopen: {
806
- enable: boolean;
807
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
808
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
809
- };
810
- nosniff: {
811
- enable: boolean;
812
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
813
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
814
- };
815
- csp: {
816
- enable: boolean;
817
- policy: Record<string, string | boolean | string[]>;
818
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
819
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
820
- reportOnly?: boolean | undefined;
821
- supportIE?: boolean | undefined;
822
- };
823
- xssProtection: {
824
- value: string;
825
- enable: boolean;
826
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
827
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
828
- };
829
- xframe: {
830
- value: string;
831
- enable: boolean;
832
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
833
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
834
- };
835
- dta: {
836
- enable: boolean;
837
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
838
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
839
- };
840
- defaultMiddleware: string | ("csrf" | "hsts" | "methodnoallow" | "noopen" | "nosniff" | "csp" | "xssProtection" | "xframe" | "dta")[];
841
- referrerPolicy: {
842
- value: string;
843
- enable: boolean;
844
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
845
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
846
- };
847
- ssrf: {
848
- ipBlackList?: string[] | undefined;
849
- ipExceptionList?: string[] | undefined;
850
- hostnameExceptionList?: string[] | undefined;
851
- checkAddress?: ((args_0: string | {
852
- address: string;
853
- family: number;
854
- } | (string | {
855
- address: string;
856
- family: number;
857
- })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
858
- };
859
- match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
860
- ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
861
- __protocolWhiteListSet?: ReadonlySet<string> | undefined;
862
- };
863
- helper: {
864
- shtml: {
865
- domainWhiteList?: string[] | undefined;
866
- whiteList?: Record<string, string[]> | undefined;
867
- onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
868
- };
869
- };
870
- };
871
- export default _default;