@nocobase/plugin-idp-oauth 2.1.0-alpha.10

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 (451) hide show
  1. package/LICENSE.txt +107 -0
  2. package/README.md +14 -0
  3. package/build.config.ts +46 -0
  4. package/client.d.ts +2 -0
  5. package/client.js +1 -0
  6. package/dist/client/ErrorPage.d.ts +11 -0
  7. package/dist/client/InteractionPage.d.ts +11 -0
  8. package/dist/client/index.d.ts +9 -0
  9. package/dist/client/index.js +10 -0
  10. package/dist/client/locale.d.ts +10 -0
  11. package/dist/client/models/index.d.ts +11 -0
  12. package/dist/client/plugin.d.ts +13 -0
  13. package/dist/externalVersion.js +18 -0
  14. package/dist/index.d.ts +10 -0
  15. package/dist/index.js +48 -0
  16. package/dist/locale/en-US.json +1 -0
  17. package/dist/locale/zh-CN.json +1 -0
  18. package/dist/node_modules/eta/LICENSE +7 -0
  19. package/dist/node_modules/eta/README.md +185 -0
  20. package/dist/node_modules/eta/dist/core.d.ts +179 -0
  21. package/dist/node_modules/eta/dist/core.d.ts.map +1 -0
  22. package/dist/node_modules/eta/dist/core.js +42 -0
  23. package/dist/node_modules/eta/dist/core.js.map +1 -0
  24. package/dist/node_modules/eta/dist/index.cjs +542 -0
  25. package/dist/node_modules/eta/dist/index.cjs.map +1 -0
  26. package/dist/node_modules/eta/dist/index.d.cts +187 -0
  27. package/dist/node_modules/eta/dist/index.d.cts.map +1 -0
  28. package/dist/node_modules/eta/dist/index.d.mts +187 -0
  29. package/dist/node_modules/eta/dist/index.d.mts.map +1 -0
  30. package/dist/node_modules/eta/dist/index.mjs +512 -0
  31. package/dist/node_modules/eta/dist/index.mjs.map +1 -0
  32. package/dist/node_modules/eta/package.json +75 -0
  33. package/dist/node_modules/jose/LICENSE.md +21 -0
  34. package/dist/node_modules/jose/README.md +153 -0
  35. package/dist/node_modules/jose/dist/types/index.d.ts +55 -0
  36. package/dist/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +31 -0
  37. package/dist/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +65 -0
  38. package/dist/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +31 -0
  39. package/dist/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +83 -0
  40. package/dist/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +38 -0
  41. package/dist/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +74 -0
  42. package/dist/node_modules/jose/dist/types/jwk/embedded.d.ts +17 -0
  43. package/dist/node_modules/jose/dist/types/jwk/thumbprint.d.ts +32 -0
  44. package/dist/node_modules/jose/dist/types/jwks/local.d.ts +29 -0
  45. package/dist/node_modules/jose/dist/types/jwks/remote.d.ts +237 -0
  46. package/dist/node_modules/jose/dist/types/jws/compact/sign.d.ts +36 -0
  47. package/dist/node_modules/jose/dist/types/jws/compact/verify.d.ts +33 -0
  48. package/dist/node_modules/jose/dist/types/jws/flattened/sign.d.ts +42 -0
  49. package/dist/node_modules/jose/dist/types/jws/flattened/verify.d.ts +33 -0
  50. package/dist/node_modules/jose/dist/types/jws/general/sign.d.ts +53 -0
  51. package/dist/node_modules/jose/dist/types/jws/general/verify.d.ts +41 -0
  52. package/dist/node_modules/jose/dist/types/jwt/decrypt.d.ts +35 -0
  53. package/dist/node_modules/jose/dist/types/jwt/encrypt.d.ts +91 -0
  54. package/dist/node_modules/jose/dist/types/jwt/sign.d.ts +43 -0
  55. package/dist/node_modules/jose/dist/types/jwt/unsecured.d.ts +43 -0
  56. package/dist/node_modules/jose/dist/types/jwt/verify.d.ts +37 -0
  57. package/dist/node_modules/jose/dist/types/key/export.d.ts +33 -0
  58. package/dist/node_modules/jose/dist/types/key/generate_key_pair.d.ts +47 -0
  59. package/dist/node_modules/jose/dist/types/key/generate_secret.d.ts +35 -0
  60. package/dist/node_modules/jose/dist/types/key/import.d.ts +83 -0
  61. package/dist/node_modules/jose/dist/types/types.d.ts +852 -0
  62. package/dist/node_modules/jose/dist/types/util/base64url.d.ts +9 -0
  63. package/dist/node_modules/jose/dist/types/util/decode_jwt.d.ts +18 -0
  64. package/dist/node_modules/jose/dist/types/util/decode_protected_header.d.ts +17 -0
  65. package/dist/node_modules/jose/dist/types/util/errors.d.ts +213 -0
  66. package/dist/node_modules/jose/dist/webapi/index.js +32 -0
  67. package/dist/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +27 -0
  68. package/dist/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +27 -0
  69. package/dist/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +155 -0
  70. package/dist/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +165 -0
  71. package/dist/node_modules/jose/dist/webapi/jwe/general/decrypt.js +31 -0
  72. package/dist/node_modules/jose/dist/webapi/jwe/general/encrypt.js +182 -0
  73. package/dist/node_modules/jose/dist/webapi/jwk/embedded.js +17 -0
  74. package/dist/node_modules/jose/dist/webapi/jwk/thumbprint.js +68 -0
  75. package/dist/node_modules/jose/dist/webapi/jwks/local.js +119 -0
  76. package/dist/node_modules/jose/dist/webapi/jwks/remote.js +179 -0
  77. package/dist/node_modules/jose/dist/webapi/jws/compact/sign.js +18 -0
  78. package/dist/node_modules/jose/dist/webapi/jws/compact/verify.js +21 -0
  79. package/dist/node_modules/jose/dist/webapi/jws/flattened/sign.js +89 -0
  80. package/dist/node_modules/jose/dist/webapi/jws/flattened/verify.js +110 -0
  81. package/dist/node_modules/jose/dist/webapi/jws/general/sign.js +70 -0
  82. package/dist/node_modules/jose/dist/webapi/jws/general/verify.js +24 -0
  83. package/dist/node_modules/jose/dist/webapi/jwt/decrypt.js +23 -0
  84. package/dist/node_modules/jose/dist/webapi/jwt/encrypt.js +101 -0
  85. package/dist/node_modules/jose/dist/webapi/jwt/sign.js +52 -0
  86. package/dist/node_modules/jose/dist/webapi/jwt/unsecured.js +63 -0
  87. package/dist/node_modules/jose/dist/webapi/jwt/verify.js +15 -0
  88. package/dist/node_modules/jose/dist/webapi/key/export.js +11 -0
  89. package/dist/node_modules/jose/dist/webapi/key/generate_key_pair.js +97 -0
  90. package/dist/node_modules/jose/dist/webapi/key/generate_secret.js +40 -0
  91. package/dist/node_modules/jose/dist/webapi/key/import.js +57 -0
  92. package/dist/node_modules/jose/dist/webapi/lib/aesgcmkw.js +15 -0
  93. package/dist/node_modules/jose/dist/webapi/lib/aeskw.js +25 -0
  94. package/dist/node_modules/jose/dist/webapi/lib/asn1.js +243 -0
  95. package/dist/node_modules/jose/dist/webapi/lib/base64.js +22 -0
  96. package/dist/node_modules/jose/dist/webapi/lib/buffer_utils.js +43 -0
  97. package/dist/node_modules/jose/dist/webapi/lib/check_key_type.js +122 -0
  98. package/dist/node_modules/jose/dist/webapi/lib/content_encryption.js +217 -0
  99. package/dist/node_modules/jose/dist/webapi/lib/crypto_key.js +136 -0
  100. package/dist/node_modules/jose/dist/webapi/lib/deflate.js +44 -0
  101. package/dist/node_modules/jose/dist/webapi/lib/ecdhes.js +52 -0
  102. package/dist/node_modules/jose/dist/webapi/lib/helpers.js +19 -0
  103. package/dist/node_modules/jose/dist/webapi/lib/invalid_key_input.js +27 -0
  104. package/dist/node_modules/jose/dist/webapi/lib/is_key_like.js +17 -0
  105. package/dist/node_modules/jose/dist/webapi/lib/jwk_to_key.js +107 -0
  106. package/dist/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +238 -0
  107. package/dist/node_modules/jose/dist/webapi/lib/key_management.js +186 -0
  108. package/dist/node_modules/jose/dist/webapi/lib/key_to_jwk.js +31 -0
  109. package/dist/node_modules/jose/dist/webapi/lib/normalize_key.js +166 -0
  110. package/dist/node_modules/jose/dist/webapi/lib/pbes2kw.js +39 -0
  111. package/dist/node_modules/jose/dist/webapi/lib/rsaes.js +24 -0
  112. package/dist/node_modules/jose/dist/webapi/lib/signing.js +68 -0
  113. package/dist/node_modules/jose/dist/webapi/lib/type_checks.js +40 -0
  114. package/dist/node_modules/jose/dist/webapi/lib/validate_algorithms.js +10 -0
  115. package/dist/node_modules/jose/dist/webapi/lib/validate_crit.js +33 -0
  116. package/dist/node_modules/jose/dist/webapi/util/base64url.js +30 -0
  117. package/dist/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -0
  118. package/dist/node_modules/jose/dist/webapi/util/decode_protected_header.js +34 -0
  119. package/dist/node_modules/jose/dist/webapi/util/errors.js +99 -0
  120. package/dist/node_modules/jose/package.json +200 -0
  121. package/dist/node_modules/light-my-request/.gitattributes +2 -0
  122. package/dist/node_modules/light-my-request/.github/dependabot.yml +13 -0
  123. package/dist/node_modules/light-my-request/.github/stale.yml +21 -0
  124. package/dist/node_modules/light-my-request/.github/workflows/benchmark.yml +30 -0
  125. package/dist/node_modules/light-my-request/.github/workflows/ci.yml +23 -0
  126. package/dist/node_modules/light-my-request/LICENSE +32 -0
  127. package/dist/node_modules/light-my-request/benchmark/benchmark.js +164 -0
  128. package/dist/node_modules/light-my-request/build/build-validation.js +100 -0
  129. package/dist/node_modules/light-my-request/eslint.config.js +9 -0
  130. package/dist/node_modules/light-my-request/index.js +2 -0
  131. package/dist/node_modules/light-my-request/lib/config-validator.js +919 -0
  132. package/dist/node_modules/light-my-request/lib/form-data.js +79 -0
  133. package/dist/node_modules/light-my-request/lib/parse-url.js +47 -0
  134. package/dist/node_modules/light-my-request/lib/request.js +290 -0
  135. package/dist/node_modules/light-my-request/lib/response.js +240 -0
  136. package/dist/node_modules/light-my-request/node_modules/process-warning/.gitattributes +2 -0
  137. package/dist/node_modules/light-my-request/node_modules/process-warning/.github/dependabot.yml +13 -0
  138. package/dist/node_modules/light-my-request/node_modules/process-warning/.github/workflows/ci.yml +24 -0
  139. package/dist/node_modules/light-my-request/node_modules/process-warning/.taprc +2 -0
  140. package/dist/node_modules/light-my-request/node_modules/process-warning/benchmarks/warn.js +25 -0
  141. package/dist/node_modules/light-my-request/node_modules/process-warning/eslint.config.js +6 -0
  142. package/dist/node_modules/light-my-request/node_modules/process-warning/examples/example.js +11 -0
  143. package/dist/node_modules/light-my-request/node_modules/process-warning/index.js +124 -0
  144. package/dist/node_modules/light-my-request/node_modules/process-warning/package.json +73 -0
  145. package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-interpolated-string.test.js +29 -0
  146. package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-once-only.test.js +28 -0
  147. package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-reset.test.js +36 -0
  148. package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-set.test.js +30 -0
  149. package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-unlimited.test.js +37 -0
  150. package/dist/node_modules/light-my-request/node_modules/process-warning/test/index.test.js +99 -0
  151. package/dist/node_modules/light-my-request/node_modules/process-warning/test/issue-88.test.js +33 -0
  152. package/dist/node_modules/light-my-request/node_modules/process-warning/test/jest.test.js +22 -0
  153. package/dist/node_modules/light-my-request/node_modules/process-warning/test/no-warnings.test.js +80 -0
  154. package/dist/node_modules/light-my-request/node_modules/process-warning/types/index.d.ts +37 -0
  155. package/dist/node_modules/light-my-request/node_modules/process-warning/types/index.test-d.ts +36 -0
  156. package/dist/node_modules/light-my-request/package.json +1 -0
  157. package/dist/node_modules/light-my-request/test/async-await.test.js +55 -0
  158. package/dist/node_modules/light-my-request/test/index.test.js +2316 -0
  159. package/dist/node_modules/light-my-request/test/request.test.js +16 -0
  160. package/dist/node_modules/light-my-request/test/response.test.js +19 -0
  161. package/dist/node_modules/light-my-request/test/stream.test.js +359 -0
  162. package/dist/node_modules/light-my-request/types/index.d.ts +128 -0
  163. package/dist/node_modules/light-my-request/types/index.test-d.ts +149 -0
  164. package/dist/node_modules/oidc-provider/LICENSE.md +21 -0
  165. package/dist/node_modules/oidc-provider/README.md +174 -0
  166. package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_claims.js +28 -0
  167. package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_defaults.js +17 -0
  168. package/dist/node_modules/oidc-provider/lib/actions/authorization/authenticated_client_id.js +6 -0
  169. package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_remap_errors.js +17 -0
  170. package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_response.js +41 -0
  171. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_ciba_context.js +12 -0
  172. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_claims.js +68 -0
  173. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client.js +21 -0
  174. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client_grant_type.js +21 -0
  175. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_dpop_jkt.js +35 -0
  176. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_extra_params.js +18 -0
  177. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_id_token_hint.js +23 -0
  178. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_max_age.js +25 -0
  179. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_openid_scope.js +47 -0
  180. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_pkce.js +41 -0
  181. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_prompt.js +25 -0
  182. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_redirect_uri.js +41 -0
  183. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_requested_expiry.js +16 -0
  184. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_mode.js +54 -0
  185. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_type.js +26 -0
  186. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_scope.js +53 -0
  187. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_load_account.js +58 -0
  188. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_required.js +13 -0
  189. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_authorization_response.js +31 -0
  190. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow.js +31 -0
  191. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_errors.js +37 -0
  192. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_response.js +55 -0
  193. package/dist/node_modules/oidc-provider/lib/actions/authorization/index.js +200 -0
  194. package/dist/node_modules/oidc-provider/lib/actions/authorization/interaction_emit.js +9 -0
  195. package/dist/node_modules/oidc-provider/lib/actions/authorization/interactions.js +149 -0
  196. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_account.js +15 -0
  197. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_grant.js +29 -0
  198. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_pushed_authorization_request.js +36 -0
  199. package/dist/node_modules/oidc-provider/lib/actions/authorization/oauth_required.js +11 -0
  200. package/dist/node_modules/oidc-provider/lib/actions/authorization/oidc_required.js +27 -0
  201. package/dist/node_modules/oidc-provider/lib/actions/authorization/one_redirect_uri_clients.js +20 -0
  202. package/dist/node_modules/oidc-provider/lib/actions/authorization/process_request_object.js +214 -0
  203. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_remap_errors.js +17 -0
  204. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_response.js +65 -0
  205. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_registration.js +12 -0
  206. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_request_and_uri.js +12 -0
  207. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_unsupported.js +33 -0
  208. package/dist/node_modules/oidc-provider/lib/actions/authorization/respond.js +46 -0
  209. package/dist/node_modules/oidc-provider/lib/actions/authorization/resume.js +111 -0
  210. package/dist/node_modules/oidc-provider/lib/actions/authorization/strip_outside_jar_params.js +19 -0
  211. package/dist/node_modules/oidc-provider/lib/actions/authorization/unsupported_rar.js +9 -0
  212. package/dist/node_modules/oidc-provider/lib/actions/challenge.js +22 -0
  213. package/dist/node_modules/oidc-provider/lib/actions/code_verification.js +122 -0
  214. package/dist/node_modules/oidc-provider/lib/actions/discovery.js +151 -0
  215. package/dist/node_modules/oidc-provider/lib/actions/end_session.js +222 -0
  216. package/dist/node_modules/oidc-provider/lib/actions/grants/authorization_code.js +144 -0
  217. package/dist/node_modules/oidc-provider/lib/actions/grants/ciba.js +127 -0
  218. package/dist/node_modules/oidc-provider/lib/actions/grants/client_credentials.js +79 -0
  219. package/dist/node_modules/oidc-provider/lib/actions/grants/device_code.js +125 -0
  220. package/dist/node_modules/oidc-provider/lib/actions/grants/index.js +7 -0
  221. package/dist/node_modules/oidc-provider/lib/actions/grants/refresh_token.js +229 -0
  222. package/dist/node_modules/oidc-provider/lib/actions/index.js +25 -0
  223. package/dist/node_modules/oidc-provider/lib/actions/interaction.js +150 -0
  224. package/dist/node_modules/oidc-provider/lib/actions/introspection.js +164 -0
  225. package/dist/node_modules/oidc-provider/lib/actions/jwks.js +7 -0
  226. package/dist/node_modules/oidc-provider/lib/actions/registration.js +274 -0
  227. package/dist/node_modules/oidc-provider/lib/actions/revocation.js +81 -0
  228. package/dist/node_modules/oidc-provider/lib/actions/token.js +74 -0
  229. package/dist/node_modules/oidc-provider/lib/actions/userinfo.js +183 -0
  230. package/dist/node_modules/oidc-provider/lib/adapters/memory_adapter.js +95 -0
  231. package/dist/node_modules/oidc-provider/lib/consts/client_attributes.js +211 -0
  232. package/dist/node_modules/oidc-provider/lib/consts/dev_keystore.js +18 -0
  233. package/dist/node_modules/oidc-provider/lib/consts/index.js +13 -0
  234. package/dist/node_modules/oidc-provider/lib/consts/jwa.js +47 -0
  235. package/dist/node_modules/oidc-provider/lib/consts/non_rejectable_claims.js +1 -0
  236. package/dist/node_modules/oidc-provider/lib/consts/param_list.js +23 -0
  237. package/dist/node_modules/oidc-provider/lib/helpers/_/camel_case.js +1 -0
  238. package/dist/node_modules/oidc-provider/lib/helpers/_/defaults.js +28 -0
  239. package/dist/node_modules/oidc-provider/lib/helpers/_/difference.js +1 -0
  240. package/dist/node_modules/oidc-provider/lib/helpers/_/is_plain_object.js +1 -0
  241. package/dist/node_modules/oidc-provider/lib/helpers/_/map_keys.js +9 -0
  242. package/dist/node_modules/oidc-provider/lib/helpers/_/merge.js +25 -0
  243. package/dist/node_modules/oidc-provider/lib/helpers/_/omit_by.js +11 -0
  244. package/dist/node_modules/oidc-provider/lib/helpers/_/pick.js +10 -0
  245. package/dist/node_modules/oidc-provider/lib/helpers/_/pick_by.js +10 -0
  246. package/dist/node_modules/oidc-provider/lib/helpers/_/remove.js +9 -0
  247. package/dist/node_modules/oidc-provider/lib/helpers/_/set.js +18 -0
  248. package/dist/node_modules/oidc-provider/lib/helpers/_/snake_case.js +1 -0
  249. package/dist/node_modules/oidc-provider/lib/helpers/_/upper_first.js +1 -0
  250. package/dist/node_modules/oidc-provider/lib/helpers/account_claims.js +6 -0
  251. package/dist/node_modules/oidc-provider/lib/helpers/add_client.js +14 -0
  252. package/dist/node_modules/oidc-provider/lib/helpers/als.js +3 -0
  253. package/dist/node_modules/oidc-provider/lib/helpers/append_www_authenticate.js +9 -0
  254. package/dist/node_modules/oidc-provider/lib/helpers/attention.js +23 -0
  255. package/dist/node_modules/oidc-provider/lib/helpers/base64url.js +11 -0
  256. package/dist/node_modules/oidc-provider/lib/helpers/certificate_thumbprint.js +15 -0
  257. package/dist/node_modules/oidc-provider/lib/helpers/challenge.js +111 -0
  258. package/dist/node_modules/oidc-provider/lib/helpers/check_attest_binding.js +10 -0
  259. package/dist/node_modules/oidc-provider/lib/helpers/claims.js +79 -0
  260. package/dist/node_modules/oidc-provider/lib/helpers/client_id_metadata_document.js +198 -0
  261. package/dist/node_modules/oidc-provider/lib/helpers/client_schema.js +700 -0
  262. package/dist/node_modules/oidc-provider/lib/helpers/combined_scope.js +17 -0
  263. package/dist/node_modules/oidc-provider/lib/helpers/configuration.js +544 -0
  264. package/dist/node_modules/oidc-provider/lib/helpers/constant_equals.js +20 -0
  265. package/dist/node_modules/oidc-provider/lib/helpers/defaults.js +3510 -0
  266. package/dist/node_modules/oidc-provider/lib/helpers/epoch_time.js +1 -0
  267. package/dist/node_modules/oidc-provider/lib/helpers/err_out.js +17 -0
  268. package/dist/node_modules/oidc-provider/lib/helpers/errors.js +161 -0
  269. package/dist/node_modules/oidc-provider/lib/helpers/features.js +51 -0
  270. package/dist/node_modules/oidc-provider/lib/helpers/fetch_body_check.js +25 -0
  271. package/dist/node_modules/oidc-provider/lib/helpers/fetch_request.js +221 -0
  272. package/dist/node_modules/oidc-provider/lib/helpers/filter_claims.js +16 -0
  273. package/dist/node_modules/oidc-provider/lib/helpers/formatters.js +24 -0
  274. package/dist/node_modules/oidc-provider/lib/helpers/grant_common.js +214 -0
  275. package/dist/node_modules/oidc-provider/lib/helpers/html_safe.js +19 -0
  276. package/dist/node_modules/oidc-provider/lib/helpers/initialize_adapter.js +24 -0
  277. package/dist/node_modules/oidc-provider/lib/helpers/initialize_app.js +243 -0
  278. package/dist/node_modules/oidc-provider/lib/helpers/initialize_clients.js +24 -0
  279. package/dist/node_modules/oidc-provider/lib/helpers/initialize_keystore.js +310 -0
  280. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/check.js +21 -0
  281. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/index.js +43 -0
  282. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompt.js +95 -0
  283. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/consent.js +105 -0
  284. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/login.js +162 -0
  285. package/dist/node_modules/oidc-provider/lib/helpers/jwt.js +211 -0
  286. package/dist/node_modules/oidc-provider/lib/helpers/keystore.js +301 -0
  287. package/dist/node_modules/oidc-provider/lib/helpers/nanoid.js +5 -0
  288. package/dist/node_modules/oidc-provider/lib/helpers/oidc_context.js +284 -0
  289. package/dist/node_modules/oidc-provider/lib/helpers/params.js +27 -0
  290. package/dist/node_modules/oidc-provider/lib/helpers/pkce.js +30 -0
  291. package/dist/node_modules/oidc-provider/lib/helpers/pkce_format.js +17 -0
  292. package/dist/node_modules/oidc-provider/lib/helpers/process_response_types.js +202 -0
  293. package/dist/node_modules/oidc-provider/lib/helpers/re_render_errors.js +39 -0
  294. package/dist/node_modules/oidc-provider/lib/helpers/redirect_uri.js +16 -0
  295. package/dist/node_modules/oidc-provider/lib/helpers/resolve_resource.js +33 -0
  296. package/dist/node_modules/oidc-provider/lib/helpers/resolve_response_mode.js +7 -0
  297. package/dist/node_modules/oidc-provider/lib/helpers/resource_server.js +20 -0
  298. package/dist/node_modules/oidc-provider/lib/helpers/revoke.js +27 -0
  299. package/dist/node_modules/oidc-provider/lib/helpers/script_src_sha.js +21 -0
  300. package/dist/node_modules/oidc-provider/lib/helpers/sector_identifier.js +19 -0
  301. package/dist/node_modules/oidc-provider/lib/helpers/sector_validate.js +55 -0
  302. package/dist/node_modules/oidc-provider/lib/helpers/set_rt_bindings.js +21 -0
  303. package/dist/node_modules/oidc-provider/lib/helpers/token_find.js +51 -0
  304. package/dist/node_modules/oidc-provider/lib/helpers/type_validators.js +8 -0
  305. package/dist/node_modules/oidc-provider/lib/helpers/user_code_form.js +19 -0
  306. package/dist/node_modules/oidc-provider/lib/helpers/user_codes.js +38 -0
  307. package/dist/node_modules/oidc-provider/lib/helpers/valid_url.js +8 -0
  308. package/dist/node_modules/oidc-provider/lib/helpers/validate_dpop.js +129 -0
  309. package/dist/node_modules/oidc-provider/lib/helpers/validate_presence.js +17 -0
  310. package/dist/node_modules/oidc-provider/lib/helpers/weak_cache.js +11 -0
  311. package/dist/node_modules/oidc-provider/lib/index.js +21 -0
  312. package/dist/node_modules/oidc-provider/lib/models/access_token.js +31 -0
  313. package/dist/node_modules/oidc-provider/lib/models/authorization_code.js +27 -0
  314. package/dist/node_modules/oidc-provider/lib/models/backchannel_authentication_request.js +26 -0
  315. package/dist/node_modules/oidc-provider/lib/models/base_model.js +141 -0
  316. package/dist/node_modules/oidc-provider/lib/models/base_token.js +86 -0
  317. package/dist/node_modules/oidc-provider/lib/models/client.js +593 -0
  318. package/dist/node_modules/oidc-provider/lib/models/client_credentials.js +19 -0
  319. package/dist/node_modules/oidc-provider/lib/models/device_code.js +44 -0
  320. package/dist/node_modules/oidc-provider/lib/models/formats/dynamic.js +21 -0
  321. package/dist/node_modules/oidc-provider/lib/models/formats/index.js +14 -0
  322. package/dist/node_modules/oidc-provider/lib/models/formats/jwt.js +198 -0
  323. package/dist/node_modules/oidc-provider/lib/models/formats/opaque.js +58 -0
  324. package/dist/node_modules/oidc-provider/lib/models/grant.js +243 -0
  325. package/dist/node_modules/oidc-provider/lib/models/id_token.js +271 -0
  326. package/dist/node_modules/oidc-provider/lib/models/index.js +37 -0
  327. package/dist/node_modules/oidc-provider/lib/models/initial_access_token.js +12 -0
  328. package/dist/node_modules/oidc-provider/lib/models/interaction.js +73 -0
  329. package/dist/node_modules/oidc-provider/lib/models/mixins/apply.js +4 -0
  330. package/dist/node_modules/oidc-provider/lib/models/mixins/consumable.js +17 -0
  331. package/dist/node_modules/oidc-provider/lib/models/mixins/has_format.js +46 -0
  332. package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_id.js +12 -0
  333. package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_type.js +8 -0
  334. package/dist/node_modules/oidc-provider/lib/models/mixins/has_policies.js +38 -0
  335. package/dist/node_modules/oidc-provider/lib/models/mixins/is_attestation_constrained.js +15 -0
  336. package/dist/node_modules/oidc-provider/lib/models/mixins/is_sender_constrained.js +50 -0
  337. package/dist/node_modules/oidc-provider/lib/models/mixins/is_session_bound.js +38 -0
  338. package/dist/node_modules/oidc-provider/lib/models/mixins/set_audience.js +21 -0
  339. package/dist/node_modules/oidc-provider/lib/models/mixins/stores_auth.js +16 -0
  340. package/dist/node_modules/oidc-provider/lib/models/mixins/stores_pkce.js +9 -0
  341. package/dist/node_modules/oidc-provider/lib/models/pushed_authorization_request.js +21 -0
  342. package/dist/node_modules/oidc-provider/lib/models/refresh_token.js +47 -0
  343. package/dist/node_modules/oidc-provider/lib/models/registration_access_token.js +8 -0
  344. package/dist/node_modules/oidc-provider/lib/models/replay_detection.js +31 -0
  345. package/dist/node_modules/oidc-provider/lib/models/session.js +192 -0
  346. package/dist/node_modules/oidc-provider/lib/provider.js +453 -0
  347. package/dist/node_modules/oidc-provider/lib/response_modes/form_post.js +36 -0
  348. package/dist/node_modules/oidc-provider/lib/response_modes/fragment.js +7 -0
  349. package/dist/node_modules/oidc-provider/lib/response_modes/index.js +15 -0
  350. package/dist/node_modules/oidc-provider/lib/response_modes/jwt.js +43 -0
  351. package/dist/node_modules/oidc-provider/lib/response_modes/query.js +7 -0
  352. package/dist/node_modules/oidc-provider/lib/response_modes/web_message.js +55 -0
  353. package/dist/node_modules/oidc-provider/lib/shared/assemble_params.js +7 -0
  354. package/dist/node_modules/oidc-provider/lib/shared/attest_client_auth.js +111 -0
  355. package/dist/node_modules/oidc-provider/lib/shared/authorization_error_handler.js +104 -0
  356. package/dist/node_modules/oidc-provider/lib/shared/check_rar.js +75 -0
  357. package/dist/node_modules/oidc-provider/lib/shared/check_resource.js +77 -0
  358. package/dist/node_modules/oidc-provider/lib/shared/client_auth.js +263 -0
  359. package/dist/node_modules/oidc-provider/lib/shared/conditional_body.js +9 -0
  360. package/dist/node_modules/oidc-provider/lib/shared/cors.js +49 -0
  361. package/dist/node_modules/oidc-provider/lib/shared/error_handler.js +59 -0
  362. package/dist/node_modules/oidc-provider/lib/shared/jwt_client_auth.js +79 -0
  363. package/dist/node_modules/oidc-provider/lib/shared/no_cache.js +4 -0
  364. package/dist/node_modules/oidc-provider/lib/shared/reject_dupes.js +45 -0
  365. package/dist/node_modules/oidc-provider/lib/shared/reject_structured_tokens.js +18 -0
  366. package/dist/node_modules/oidc-provider/lib/shared/selective_body.js +60 -0
  367. package/dist/node_modules/oidc-provider/lib/shared/session.js +68 -0
  368. package/dist/node_modules/oidc-provider/lib/shared/set_www_authenticate_header.js +52 -0
  369. package/dist/node_modules/oidc-provider/lib/views/index.js +22 -0
  370. package/dist/node_modules/oidc-provider/lib/views/interaction.js +171 -0
  371. package/dist/node_modules/oidc-provider/lib/views/layout.js +237 -0
  372. package/dist/node_modules/oidc-provider/lib/views/login.js +43 -0
  373. package/dist/node_modules/oidc-provider/node_modules/@koa/router/LICENSE +21 -0
  374. package/dist/node_modules/oidc-provider/node_modules/@koa/router/README.md +1370 -0
  375. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.mts +1003 -0
  376. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.ts +1003 -0
  377. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.js +1616 -0
  378. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.mjs +1573 -0
  379. package/dist/node_modules/oidc-provider/node_modules/@koa/router/package.json +122 -0
  380. package/dist/node_modules/oidc-provider/node_modules/debug/LICENSE +20 -0
  381. package/dist/node_modules/oidc-provider/node_modules/debug/README.md +481 -0
  382. package/dist/node_modules/oidc-provider/node_modules/debug/package.json +64 -0
  383. package/dist/node_modules/oidc-provider/node_modules/debug/src/browser.js +272 -0
  384. package/dist/node_modules/oidc-provider/node_modules/debug/src/common.js +292 -0
  385. package/dist/node_modules/oidc-provider/node_modules/debug/src/index.js +10 -0
  386. package/dist/node_modules/oidc-provider/node_modules/debug/src/node.js +263 -0
  387. package/dist/node_modules/oidc-provider/node_modules/http-errors/HISTORY.md +186 -0
  388. package/dist/node_modules/oidc-provider/node_modules/http-errors/LICENSE +23 -0
  389. package/dist/node_modules/oidc-provider/node_modules/http-errors/README.md +169 -0
  390. package/dist/node_modules/oidc-provider/node_modules/http-errors/index.js +290 -0
  391. package/dist/node_modules/oidc-provider/node_modules/http-errors/package.json +54 -0
  392. package/dist/node_modules/oidc-provider/node_modules/jsesc/LICENSE-MIT.txt +20 -0
  393. package/dist/node_modules/oidc-provider/node_modules/jsesc/README.md +422 -0
  394. package/dist/node_modules/oidc-provider/node_modules/jsesc/bin/jsesc +148 -0
  395. package/dist/node_modules/oidc-provider/node_modules/jsesc/jsesc.js +337 -0
  396. package/dist/node_modules/oidc-provider/node_modules/jsesc/man/jsesc.1 +94 -0
  397. package/dist/node_modules/oidc-provider/node_modules/jsesc/package.json +56 -0
  398. package/dist/node_modules/oidc-provider/node_modules/nanoid/LICENSE +20 -0
  399. package/dist/node_modules/oidc-provider/node_modules/nanoid/README.md +38 -0
  400. package/dist/node_modules/oidc-provider/node_modules/nanoid/bin/nanoid.js +55 -0
  401. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.browser.js +29 -0
  402. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.d.ts +106 -0
  403. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.js +47 -0
  404. package/dist/node_modules/oidc-provider/node_modules/nanoid/nanoid.js +1 -0
  405. package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.d.ts +48 -0
  406. package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.js +21 -0
  407. package/dist/node_modules/oidc-provider/node_modules/nanoid/package.json +46 -0
  408. package/dist/node_modules/oidc-provider/node_modules/nanoid/url-alphabet/index.js +2 -0
  409. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/LICENSE +21 -0
  410. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/Readme.md +224 -0
  411. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.d.ts +144 -0
  412. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js +409 -0
  413. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js.map +1 -0
  414. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/package.json +64 -0
  415. package/dist/node_modules/oidc-provider/node_modules/statuses/HISTORY.md +87 -0
  416. package/dist/node_modules/oidc-provider/node_modules/statuses/LICENSE +23 -0
  417. package/dist/node_modules/oidc-provider/node_modules/statuses/README.md +139 -0
  418. package/dist/node_modules/oidc-provider/node_modules/statuses/codes.json +65 -0
  419. package/dist/node_modules/oidc-provider/node_modules/statuses/index.js +146 -0
  420. package/dist/node_modules/oidc-provider/node_modules/statuses/package.json +49 -0
  421. package/dist/node_modules/oidc-provider/package.json +95 -0
  422. package/dist/node_modules/quick-lru/index.d.ts +178 -0
  423. package/dist/node_modules/quick-lru/index.js +329 -0
  424. package/dist/node_modules/quick-lru/license +9 -0
  425. package/dist/node_modules/quick-lru/package.json +54 -0
  426. package/dist/node_modules/quick-lru/readme.md +236 -0
  427. package/dist/node_modules/statuses/HISTORY.md +65 -0
  428. package/dist/node_modules/statuses/LICENSE +23 -0
  429. package/dist/node_modules/statuses/README.md +127 -0
  430. package/dist/node_modules/statuses/codes.json +66 -0
  431. package/dist/node_modules/statuses/index.js +113 -0
  432. package/dist/node_modules/statuses/package.json +48 -0
  433. package/dist/server/cache-adapter.d.ts +33 -0
  434. package/dist/server/cache-adapter.js +159 -0
  435. package/dist/server/index.d.ts +10 -0
  436. package/dist/server/index.js +48 -0
  437. package/dist/server/interaction.d.ts +26 -0
  438. package/dist/server/interaction.js +172 -0
  439. package/dist/server/paths.d.ts +19 -0
  440. package/dist/server/paths.js +64 -0
  441. package/dist/server/plugin.d.ts +16 -0
  442. package/dist/server/plugin.js +108 -0
  443. package/dist/server/provider-dispatch.d.ts +32 -0
  444. package/dist/server/provider-dispatch.js +252 -0
  445. package/dist/server/service.d.ts +63 -0
  446. package/dist/server/service.js +540 -0
  447. package/dist/server/utils.d.ts +12 -0
  448. package/dist/server/utils.js +58 -0
  449. package/package.json +24 -0
  450. package/server.d.ts +2 -0
  451. package/server.js +1 -0
@@ -0,0 +1,32 @@
1
+ Copyright (c) 2017 The Fastify Team
2
+ Copyright (c) 2012-2017, Project contributors
3
+ Copyright (c) 2012-2014, Walmart
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+ * Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+ * Redistributions in binary form must reproduce the above copyright
11
+ notice, this list of conditions and the following disclaimer in the
12
+ documentation and/or other materials provided with the distribution.
13
+ * The names of any contributors may not be used to endorse or promote
14
+ products derived from this software without specific prior written
15
+ permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY
21
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+
28
+ * * *
29
+
30
+ The complete list of contributors can be found at:
31
+ - https://github.com/hapijs/shot/graphs/contributors
32
+ - https://github.com/fastify/light-my-request/graphs/contributors
@@ -0,0 +1,164 @@
1
+ 'use strict'
2
+
3
+ const http = require('node:http')
4
+ const Request = require('../lib/request')
5
+ const Response = require('../lib/response')
6
+ const inject = require('..')
7
+ const parseURL = require('../lib/parse-url')
8
+ const { Readable } = require('node:stream')
9
+ const { assert } = require('node:console')
10
+ const { Bench } = require('tinybench')
11
+
12
+ const suite = new Bench()
13
+
14
+ const mockReq = {
15
+ url: 'http://localhost',
16
+ method: 'GET',
17
+ headers: {
18
+ foo: 'bar',
19
+ 'content-type': 'html',
20
+ accepts: 'json',
21
+ authorization: 'granted'
22
+ }
23
+ }
24
+ const mockCustomReq = {
25
+ url: 'http://localhost',
26
+ method: 'GET',
27
+ headers: {
28
+ foo: 'bar',
29
+ 'content-type': 'html',
30
+ accepts: 'json',
31
+ authorization: 'granted'
32
+ },
33
+ Request: http.IncomingMessage
34
+ }
35
+ const mockReqCookies = {
36
+ url: 'http://localhost',
37
+ method: 'GET',
38
+ cookies: { foo: 'bar', grass: 'àìùòlé' },
39
+ headers: {
40
+ foo: 'bar',
41
+ 'content-type': 'html',
42
+ accepts: 'json',
43
+ authorization: 'granted'
44
+ }
45
+ }
46
+ const mockReqCookiesPayload = {
47
+ url: 'http://localhost',
48
+ method: 'GET',
49
+ headers: {
50
+ foo: 'bar',
51
+ 'content-type': 'html',
52
+ accepts: 'json',
53
+ authorization: 'granted'
54
+ },
55
+ payload: {
56
+ foo: { bar: 'fiz' },
57
+ bim: { bar: { boom: 'paf' } }
58
+ }
59
+ }
60
+ const mockReqCookiesPayloadBuffer = {
61
+ url: 'http://localhost',
62
+ method: 'GET',
63
+ headers: {
64
+ foo: 'bar',
65
+ 'content-type': 'html',
66
+ accepts: 'json',
67
+ authorization: 'granted'
68
+ },
69
+ payload: Buffer.from('foo')
70
+ }
71
+ const mockReqCookiesPayloadReadable = () => ({
72
+ url: 'http://localhost',
73
+ method: 'GET',
74
+ headers: {
75
+ foo: 'bar',
76
+ 'content-type': 'html',
77
+ accepts: 'json',
78
+ authorization: 'granted'
79
+ },
80
+ payload: Readable.from(['foo', 'bar', 'baz'])
81
+ })
82
+
83
+ suite
84
+ .add('Request', function () {
85
+ new Request(mockReq) // eslint-disable-line no-new
86
+ })
87
+ .add('Custom Request', function () {
88
+ new Request.CustomRequest(mockCustomReq) // eslint-disable-line no-new
89
+ })
90
+ .add('Request With Cookies', function () {
91
+ new Request(mockReqCookies) // eslint-disable-line no-new
92
+ })
93
+ .add('Request With Cookies n payload', function () {
94
+ new Request(mockReqCookiesPayload) // eslint-disable-line no-new
95
+ })
96
+ .add('ParseUrl', function () {
97
+ parseURL('http://example.com:8080/hello')
98
+ })
99
+ .add('ParseUrl and query', function () {
100
+ parseURL('http://example.com:8080/hello', {
101
+ foo: 'bar',
102
+ message: 'OK',
103
+ xs: ['foo', 'bar']
104
+ })
105
+ })
106
+ .add('read request body JSON', function () {
107
+ return new Promise((resolve) => {
108
+ const req = new Request(mockReqCookiesPayload)
109
+ req.prepare(() => {
110
+ req.on('data', () => {})
111
+ req.on('end', resolve)
112
+ })
113
+ })
114
+ })
115
+ .add('read request body buffer', function () {
116
+ return new Promise((resolve) => {
117
+ const req = new Request(mockReqCookiesPayloadBuffer)
118
+ req.prepare(() => {
119
+ req.on('data', () => {})
120
+ req.on('end', resolve)
121
+ })
122
+ })
123
+ })
124
+ .add('read request body readable', function () {
125
+ return new Promise((resolve) => {
126
+ const req = new Request(mockReqCookiesPayloadReadable())
127
+ req.prepare(() => {
128
+ req.on('data', () => {})
129
+ req.on('end', resolve)
130
+ })
131
+ })
132
+ })
133
+ .add('Response write end', function () {
134
+ const req = new Request(mockReq)
135
+ return new Promise((resolve) => {
136
+ const res = new Response(req, resolve)
137
+ res.write('foo')
138
+ res.end()
139
+ })
140
+ })
141
+ .add('Response writeHead end', function () {
142
+ const req = new Request(mockReq)
143
+ return new Promise((resolve) => {
144
+ const res = new Response(req, resolve)
145
+ res.writeHead(400, { 'content-length': 200 })
146
+ res.end()
147
+ })
148
+ })
149
+ .add('base inject', async function () {
150
+ const d = await inject((req, res) => {
151
+ req.on('data', () => {})
152
+ req.on('end', () => { res.end('1') })
153
+ }, mockReqCookiesPayload)
154
+ assert(d.payload === '1')
155
+ })
156
+ .run()
157
+ .then((tasks) => {
158
+ const errors = tasks.map(t => t.result?.error).filter((t) => t)
159
+ if (errors.length) {
160
+ errors.map((e) => console.error(e))
161
+ } else {
162
+ console.table(suite.table())
163
+ }
164
+ })
@@ -0,0 +1,100 @@
1
+ 'use strict'
2
+
3
+ const http = require('node:http')
4
+ const AjvStandaloneCompiler = require('@fastify/ajv-compiler/standalone')
5
+ const fs = require('node:fs')
6
+ const path = require('node:path')
7
+
8
+ const urlSchema = {
9
+ oneOf: [
10
+ { type: 'string' },
11
+ {
12
+ type: 'object',
13
+ properties: {
14
+ protocol: { type: 'string' },
15
+ hostname: { type: 'string' },
16
+ pathname: { type: 'string' }
17
+ // port type => any
18
+ // query type => any
19
+ },
20
+ additionalProperties: true,
21
+ required: ['pathname']
22
+ }
23
+ ]
24
+ }
25
+
26
+ const schema = {
27
+ type: 'object',
28
+ properties: {
29
+ url: urlSchema,
30
+ path: urlSchema,
31
+ cookies: {
32
+ type: 'object',
33
+ additionalProperties: true
34
+ },
35
+ headers: {
36
+ type: 'object',
37
+ additionalProperties: true
38
+ },
39
+ query: {
40
+ anyOf: [
41
+ {
42
+ type: 'object',
43
+ additionalProperties: true
44
+ },
45
+ {
46
+ type: 'string'
47
+ }
48
+ ]
49
+ },
50
+ simulate: {
51
+ type: 'object',
52
+ properties: {
53
+ end: { type: 'boolean' },
54
+ split: { type: 'boolean' },
55
+ error: { type: 'boolean' },
56
+ close: { type: 'boolean' }
57
+ }
58
+ },
59
+ authority: { type: 'string' },
60
+ remoteAddress: { type: 'string' },
61
+ method: { type: 'string', enum: http.METHODS.concat(http.METHODS.map(toLowerCase)) },
62
+ validate: { type: 'boolean' }
63
+ // payload type => any
64
+ },
65
+ additionalProperties: true,
66
+ oneOf: [
67
+ { required: ['url'] },
68
+ { required: ['path'] }
69
+ ]
70
+ }
71
+
72
+ function toLowerCase (m) { return m.toLowerCase() }
73
+
74
+ const factory = AjvStandaloneCompiler({
75
+ readMode: false,
76
+ storeFunction (routeOpts, schemaValidationCode) {
77
+ const moduleCode = `// This file is autogenerated by ${__filename.replace(__dirname, 'build')}, do not edit
78
+ /* c8 ignore start */
79
+ /* eslint-disable */
80
+ ${schemaValidationCode}
81
+ `
82
+ const file = path.join(__dirname, '..', 'lib', 'config-validator.js')
83
+ fs.writeFileSync(file, moduleCode)
84
+ console.log(`Saved ${file} file successfully`)
85
+ }
86
+ })
87
+
88
+ const compiler = factory({}, {
89
+ customOptions: {
90
+ code: {
91
+ source: true,
92
+ lines: true,
93
+ optimize: 3
94
+ },
95
+ removeAdditional: true,
96
+ coerceTypes: true
97
+ }
98
+ })
99
+
100
+ compiler({ schema })
@@ -0,0 +1,9 @@
1
+ 'use strict'
2
+
3
+ module.exports = require('neostandard')({
4
+ ignores: [
5
+ ...require('neostandard').resolveIgnoresFromGitignore(),
6
+ 'test/benchmark.js'
7
+ ],
8
+ ts: true
9
+ })
@@ -0,0 +1,2 @@
1
+ (function(){"use strict";var e={314:function(e,t){Object.defineProperty(t,"__esModule",{value:true});t.parseCookie=parseCookie;t.parse=parseCookie;t.stringifyCookie=stringifyCookie;t.stringifySetCookie=stringifySetCookie;t.serialize=stringifySetCookie;t.parseSetCookie=parseSetCookie;t.stringifySetCookie=stringifySetCookie;t.serialize=stringifySetCookie;const s=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/;const r=/^[\u0021-\u003A\u003C-\u007E]*$/;const n=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;const i=/^[\u0020-\u003A\u003D-\u007E]*$/;const o=/^-?\d+$/;const a=Object.prototype.toString;const u=(()=>{const C=function(){};C.prototype=Object.create(null);return C})();function parseCookie(e,t){const s=new u;const r=e.length;if(r<2)return s;const n=t?.decode||decode;let i=0;do{const t=eqIndex(e,i,r);if(t===-1)break;const o=endIndex(e,i,r);if(t>o){i=e.lastIndexOf(";",t-1)+1;continue}const a=valueSlice(e,i,t);if(s[a]===undefined){s[a]=n(valueSlice(e,t+1,o))}i=o+1}while(i<r);return s}function stringifyCookie(e,t){const n=t?.encode||encodeURIComponent;const i=[];for(const t of Object.keys(e)){const o=e[t];if(o===undefined)continue;if(!s.test(t)){throw new TypeError(`cookie name is invalid: ${t}`)}const a=n(o);if(!r.test(a)){throw new TypeError(`cookie val is invalid: ${o}`)}i.push(`${t}=${a}`)}return i.join("; ")}function stringifySetCookie(e,t,o){const a=typeof e==="object"?e:{...o,name:e,value:String(t)};const u=typeof t==="object"?t:o;const l=u?.encode||encodeURIComponent;if(!s.test(a.name)){throw new TypeError(`argument name is invalid: ${a.name}`)}const f=a.value?l(a.value):"";if(!r.test(f)){throw new TypeError(`argument val is invalid: ${a.value}`)}let p=a.name+"="+f;if(a.maxAge!==undefined){if(!Number.isInteger(a.maxAge)){throw new TypeError(`option maxAge is invalid: ${a.maxAge}`)}p+="; Max-Age="+a.maxAge}if(a.domain){if(!n.test(a.domain)){throw new TypeError(`option domain is invalid: ${a.domain}`)}p+="; Domain="+a.domain}if(a.path){if(!i.test(a.path)){throw new TypeError(`option path is invalid: ${a.path}`)}p+="; Path="+a.path}if(a.expires){if(!isDate(a.expires)||!Number.isFinite(a.expires.valueOf())){throw new TypeError(`option expires is invalid: ${a.expires}`)}p+="; Expires="+a.expires.toUTCString()}if(a.httpOnly){p+="; HttpOnly"}if(a.secure){p+="; Secure"}if(a.partitioned){p+="; Partitioned"}if(a.priority){const e=typeof a.priority==="string"?a.priority.toLowerCase():undefined;switch(e){case"low":p+="; Priority=Low";break;case"medium":p+="; Priority=Medium";break;case"high":p+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${a.priority}`)}}if(a.sameSite){const e=typeof a.sameSite==="string"?a.sameSite.toLowerCase():a.sameSite;switch(e){case true:case"strict":p+="; SameSite=Strict";break;case"lax":p+="; SameSite=Lax";break;case"none":p+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${a.sameSite}`)}}return p}function parseSetCookie(e,t){const s=t?.decode||decode;const r=e.length;const n=endIndex(e,0,r);const i=eqIndex(e,0,n);const a=i===-1?{name:"",value:s(valueSlice(e,0,n))}:{name:valueSlice(e,0,i),value:s(valueSlice(e,i+1,n))};let u=n+1;while(u<r){const t=endIndex(e,u,r);const s=eqIndex(e,u,t);const n=s===-1?valueSlice(e,u,t):valueSlice(e,u,s);const i=s===-1?undefined:valueSlice(e,s+1,t);switch(n.toLowerCase()){case"httponly":a.httpOnly=true;break;case"secure":a.secure=true;break;case"partitioned":a.partitioned=true;break;case"domain":a.domain=i;break;case"path":a.path=i;break;case"max-age":if(i&&o.test(i))a.maxAge=Number(i);break;case"expires":if(!i)break;const e=new Date(i);if(Number.isFinite(e.valueOf()))a.expires=e;break;case"priority":if(!i)break;const t=i.toLowerCase();if(t==="low"||t==="medium"||t==="high"){a.priority=t}break;case"samesite":if(!i)break;const s=i.toLowerCase();if(s==="lax"||s==="strict"||s==="none"){a.sameSite=s}break}u=t+1}return a}function endIndex(e,t,s){const r=e.indexOf(";",t);return r===-1?s:r}function eqIndex(e,t,s){const r=e.indexOf("=",t);return r<s?r:-1}function valueSlice(e,t,s){let r=t;let n=s;do{const t=e.charCodeAt(r);if(t!==32&&t!==9)break}while(++r<n);while(n>r){const t=e.charCodeAt(n-1);if(t!==32&&t!==9)break;n--}return e.slice(r,n)}function decode(e){if(e.indexOf("%")===-1)return e;try{return decodeURIComponent(e)}catch(t){return e}}function isDate(e){return a.call(e)==="[object Date]"}},303:function(e){var t={decodeValues:true,map:false,silent:false};function isForbiddenKey(e){return typeof e!=="string"||e in{}}function createNullObj(){return Object.create(null)}function isNonEmptyString(e){return typeof e==="string"&&!!e.trim()}function parseString(e,s){var r=e.split(";").filter(isNonEmptyString);var n=r.shift();var i=parseNameValuePair(n);var o=i.name;var a=i.value;s=s?Object.assign({},t,s):t;if(isForbiddenKey(o)){return null}try{a=s.decodeValues?decodeURIComponent(a):a}catch(e){console.error("set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.",e)}var u=createNullObj();u.name=o;u.value=a;r.forEach((function(e){var t=e.split("=");var s=t.shift().trimLeft().toLowerCase();if(isForbiddenKey(s)){return}var r=t.join("=");if(s==="expires"){u.expires=new Date(r)}else if(s==="max-age"){var n=parseInt(r,10);if(!Number.isNaN(n))u.maxAge=n}else if(s==="secure"){u.secure=true}else if(s==="httponly"){u.httpOnly=true}else if(s==="samesite"){u.sameSite=r}else if(s==="partitioned"){u.partitioned=true}else if(s){u[s]=r}}));return u}function parseNameValuePair(e){var t="";var s="";var r=e.split("=");if(r.length>1){t=r.shift();s=r.join("=")}else{s=e}return{name:t,value:s}}function parse(e,s){s=s?Object.assign({},t,s):t;if(!e){if(!s.map){return[]}else{return createNullObj()}}if(e.headers){if(typeof e.headers.getSetCookie==="function"){e=e.headers.getSetCookie()}else if(e.headers["set-cookie"]){e=e.headers["set-cookie"]}else{var r=e.headers[Object.keys(e.headers).find((function(e){return e.toLowerCase()==="set-cookie"}))];if(!r&&e.headers.cookie&&!s.silent){console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.")}e=r}}if(!Array.isArray(e)){e=[e]}if(!s.map){return e.filter(isNonEmptyString).map((function(e){return parseString(e,s)})).filter(Boolean)}else{var n=createNullObj();return e.filter(isNonEmptyString).reduce((function(e,t){var r=parseString(t,s);if(r&&!isForbiddenKey(r.name)){e[r.name]=r}return e}),n)}}function splitCookiesString(e){if(Array.isArray(e)){return e}if(typeof e!=="string"){return[]}var t=[];var s=0;var r;var n;var i;var o;var a;function skipWhitespace(){while(s<e.length&&/\s/.test(e.charAt(s))){s+=1}return s<e.length}function notSpecialChar(){n=e.charAt(s);return n!=="="&&n!==";"&&n!==","}while(s<e.length){r=s;a=false;while(skipWhitespace()){n=e.charAt(s);if(n===","){i=s;s+=1;skipWhitespace();o=s;while(s<e.length&&notSpecialChar()){s+=1}if(s<e.length&&e.charAt(s)==="="){a=true;s=o;t.push(e.substring(r,i));r=s}else{s=i+1}}else{s+=1}}if(!a||s>=e.length){t.push(e.substring(r,e.length))}}return t}e.exports=parse;e.exports.parse=parse;e.exports.parseString=parseString;e.exports.splitCookiesString=splitCookiesString},61:function(e){e.exports=require("node:assert")},5:function(e){e.exports=require("node:crypto")},673:function(e){e.exports=require("node:events")},849:function(e){e.exports=require("node:http")},492:function(e){e.exports=require("node:stream")},41:function(e){e.exports=require("node:url")},261:function(e){e.exports=require("node:util")},438:function(e,t,s){const r=s(61);const n=s(664);const i=s(991);const o="The dispatch function has already been invoked";const a=s(547);function inject(e,t,s){if(s===undefined){return new Chain(e,t)}else{return doInject(e,t,s)}}function supportStream1(e,t){const s=e._lightMyRequest.payload;if(!s||s._readableState||typeof s.resume!=="function"){return t()}const r=[];s.on("data",(e=>r.push(Buffer.from(e))));s.on("end",(()=>{const s=Buffer.concat(r);e.headers["content-length"]=e.headers["content-length"]||""+s.length;delete e.headers["transfer-encoding"];e._lightMyRequest.payload=s;return t()}));s.resume()}function makeRequest(e,t,s,r){s.once("error",(function(e){if(this.destroyed)r.destroy(e)}));s.once("close",(function(){if(this.destroyed&&!this._error){r.destroy()}}));return supportStream1(s,(()=>e.call(t,s,r)))}function doInject(e,t,s){t=typeof t==="string"?{url:t}:t;if(t.validate!==false){r(typeof e==="function","dispatchFunc should be a function");const s=a(t);if(!s){throw new Error(a.errors.map((e=>e.message)))}}const o=t.server||{};const u=t.Request?n.CustomRequest:n;if(e.request&&e.request.app===e){Object.setPrototypeOf(Object.getPrototypeOf(e.request),u.prototype);Object.setPrototypeOf(Object.getPrototypeOf(e.response),i.prototype)}if(typeof s==="function"){const r=new u(t);const n=new i(r,s);return makeRequest(e,o,r,n)}else{return new Promise(((s,r)=>{const n=new u(t);const a=new i(n,s,r);makeRequest(e,o,n,a)}))}}function Chain(e,t){if(typeof t==="string"){this.option={url:t}}else{this.option=Object.assign({},t)}this.dispatch=e;this._hasInvoked=false;this._promise=null;if(this.option.autoStart!==false){process.nextTick((()=>{if(!this._hasInvoked){this.end()}}))}}const u=["delete","get","head","options","patch","post","put","trace"];u.forEach((e=>{Chain.prototype[e]=function(t){if(this._hasInvoked===true||this._promise){throw new Error(o)}this.option.url=t;this.option.method=e.toUpperCase();return this}}));const l=["body","cookies","headers","payload","query"];l.forEach((e=>{Chain.prototype[e]=function(t){if(this._hasInvoked===true||this._promise){throw new Error(o)}this.option[e]=t;return this}}));Chain.prototype.end=function(e){if(this._hasInvoked===true||this._promise){throw new Error(o)}this._hasInvoked=true;if(typeof e==="function"){doInject(this.dispatch,this.option,e)}else{this._promise=doInject(this.dispatch,this.option);return this._promise}};Object.getOwnPropertyNames(Promise.prototype).forEach((e=>{if(e==="constructor")return;Chain.prototype[e]=function(...t){if(!this._promise){if(this._hasInvoked===true){throw new Error(o)}this._hasInvoked=true;this._promise=doInject(this.dispatch,this.option)}return this._promise[e](...t)}}));function isInjection(e){return e instanceof n||e instanceof i||e?.constructor?.name==="_CustomLMRRequest"}e.exports=inject;e.exports["default"]=inject;e.exports.inject=inject;e.exports.isInjection=isInjection},547:function(e){e.exports=validate10;e.exports["default"]=validate10;const t={type:"object",properties:{url:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:true,required:["pathname"]}]},path:{oneOf:[{type:"string"},{type:"object",properties:{protocol:{type:"string"},hostname:{type:"string"},pathname:{type:"string"}},additionalProperties:true,required:["pathname"]}]},cookies:{type:"object",additionalProperties:true},headers:{type:"object",additionalProperties:true},query:{anyOf:[{type:"object",additionalProperties:true},{type:"string"}]},simulate:{type:"object",properties:{end:{type:"boolean"},split:{type:"boolean"},error:{type:"boolean"},close:{type:"boolean"}}},authority:{type:"string"},remoteAddress:{type:"string"},method:{type:"string",enum:["ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","QUERY","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE","acl","bind","checkout","connect","copy","delete","get","head","link","lock","m-search","merge","mkactivity","mkcalendar","mkcol","move","notify","options","patch","post","propfind","proppatch","purge","put","query","rebind","report","search","source","subscribe","trace","unbind","unlink","unlock","unsubscribe"]},validate:{type:"boolean"}},additionalProperties:true,oneOf:[{required:["url"]},{required:["path"]}]};function validate10(e,{instancePath:s="",parentData:r,parentDataProperty:n,rootData:i=e}={}){let o=null;let a=0;const u=a;let l=false;let f=null;const p=a;if(e&&typeof e=="object"&&!Array.isArray(e)){let t;if(e.url===undefined&&(t="url")){const e={instancePath:s,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:t},message:"must have required property '"+t+"'"};if(o===null){o=[e]}else{o.push(e)}a++}}var c=p===a;if(c){l=true;f=0}const d=a;if(e&&typeof e=="object"&&!Array.isArray(e)){let t;if(e.path===undefined&&(t="path")){const e={instancePath:s,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty:t},message:"must have required property '"+t+"'"};if(o===null){o=[e]}else{o.push(e)}a++}}var c=d===a;if(c&&l){l=false;f=[f,1]}else{if(c){l=true;f=1}}if(!l){const e={instancePath:s,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:f},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=u;if(o!==null){if(u){o.length=u}else{o=null}}}if(a===0){if(e&&typeof e=="object"&&!Array.isArray(e)){if(e.url!==undefined){let t=e.url;const r=a;const n=a;let i=false;let u=null;const l=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){t=n;if(e!==undefined){e["url"]=n}}}var h=l===a;if(h){i=true;u=0}const f=a;if(a===f){if(t&&typeof t=="object"&&!Array.isArray(t)){let e;if(t.pathname===undefined&&(e="pathname")){const t={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/1/required",keyword:"required",params:{missingProperty:e},message:"must have required property '"+e+"'"};if(o===null){o=[t]}else{o.push(t)}a++}else{if(t.protocol!==undefined){let e=t.protocol;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/url/protocol",schemaPath:"#/properties/url/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["protocol"]=n}}}var y=r===a}else{var y=true}if(y){if(t.hostname!==undefined){let e=t.hostname;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/url/hostname",schemaPath:"#/properties/url/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["hostname"]=n}}}var y=r===a}else{var y=true}if(y){if(t.pathname!==undefined){let e=t.pathname;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/url/pathname",schemaPath:"#/properties/url/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["pathname"]=n}}}var y=r===a}else{var y=true}}}}}else{const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var h=f===a;if(h&&i){i=false;u=[u,1]}else{if(h){i=true;u=1}}if(!i){const e={instancePath:s+"/url",schemaPath:"#/properties/url/oneOf",keyword:"oneOf",params:{passingSchemas:u},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=n;if(o!==null){if(n){o.length=n}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.path!==undefined){let t=e.path;const r=a;const n=a;let i=false;let u=null;const l=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/0/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){t=n;if(e!==undefined){e["path"]=n}}}var g=l===a;if(g){i=true;u=0}const f=a;if(a===f){if(t&&typeof t=="object"&&!Array.isArray(t)){let e;if(t.pathname===undefined&&(e="pathname")){const t={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/1/required",keyword:"required",params:{missingProperty:e},message:"must have required property '"+e+"'"};if(o===null){o=[t]}else{o.push(t)}a++}else{if(t.protocol!==undefined){let e=t.protocol;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/path/protocol",schemaPath:"#/properties/path/oneOf/1/properties/protocol/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["protocol"]=n}}}var b=r===a}else{var b=true}if(b){if(t.hostname!==undefined){let e=t.hostname;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/path/hostname",schemaPath:"#/properties/path/oneOf/1/properties/hostname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["hostname"]=n}}}var b=r===a}else{var b=true}if(b){if(t.pathname!==undefined){let e=t.pathname;const r=a;if(typeof e!=="string"){let r=typeof e;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+e}else if(e===null){n=""}else{const e={instancePath:s+"/path/pathname",schemaPath:"#/properties/path/oneOf/1/properties/pathname/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){e=n;if(t!==undefined){t["pathname"]=n}}}var b=r===a}else{var b=true}}}}}else{const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var g=f===a;if(g&&i){i=false;u=[u,1]}else{if(g){i=true;u=1}}if(!i){const e={instancePath:s+"/path",schemaPath:"#/properties/path/oneOf",keyword:"oneOf",params:{passingSchemas:u},message:"must match exactly one schema in oneOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=n;if(o!==null){if(n){o.length=n}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.cookies!==undefined){let t=e.cookies;const r=a;if(a===r){if(!(t&&typeof t=="object"&&!Array.isArray(t))){validate10.errors=[{instancePath:s+"/cookies",schemaPath:"#/properties/cookies/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.headers!==undefined){let t=e.headers;const r=a;if(a===r){if(!(t&&typeof t=="object"&&!Array.isArray(t))){validate10.errors=[{instancePath:s+"/headers",schemaPath:"#/properties/headers/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.query!==undefined){let t=e.query;const r=a;const n=a;let i=false;const u=a;if(a===u){if(!(t&&typeof t=="object"&&!Array.isArray(t))){const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};if(o===null){o=[e]}else{o.push(e)}a++}}var k=u===a;i=i||k;if(!i){const r=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf/1/type",keyword:"type",params:{type:"string"},message:"must be string"};if(o===null){o=[e]}else{o.push(e)}a++}}if(n!==undefined){t=n;if(e!==undefined){e["query"]=n}}}var k=r===a;i=i||k}if(!i){const e={instancePath:s+"/query",schemaPath:"#/properties/query/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(o===null){o=[e]}else{o.push(e)}a++;validate10.errors=o;return false}else{a=n;if(o!==null){if(n){o.length=n}else{o=null}}}var m=r===a}else{var m=true}if(m){if(e.simulate!==undefined){let t=e.simulate;const r=a;if(a===r){if(t&&typeof t=="object"&&!Array.isArray(t)){if(t.end!==undefined){let e=t.end;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/end",schemaPath:"#/properties/simulate/properties/end/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["end"]=r}}}var v=r===a}else{var v=true}if(v){if(t.split!==undefined){let e=t.split;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/split",schemaPath:"#/properties/simulate/properties/split/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["split"]=r}}}var v=r===a}else{var v=true}if(v){if(t.error!==undefined){let e=t.error;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/error",schemaPath:"#/properties/simulate/properties/error/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["error"]=r}}}var v=r===a}else{var v=true}if(v){if(t.close!==undefined){let e=t.close;const r=a;if(typeof e!=="boolean"){let r=undefined;if(!(r!==undefined)){if(e==="false"||e===0||e===null){r=false}else if(e==="true"||e===1){r=true}else{validate10.errors=[{instancePath:s+"/simulate/close",schemaPath:"#/properties/simulate/properties/close/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){e=r;if(t!==undefined){t["close"]=r}}}var v=r===a}else{var v=true}}}}}else{validate10.errors=[{instancePath:s+"/simulate",schemaPath:"#/properties/simulate/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}var m=r===a}else{var m=true}if(m){if(e.authority!==undefined){let t=e.authority;const r=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{validate10.errors=[{instancePath:s+"/authority",schemaPath:"#/properties/authority/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(n!==undefined){t=n;if(e!==undefined){e["authority"]=n}}}var m=r===a}else{var m=true}if(m){if(e.remoteAddress!==undefined){let t=e.remoteAddress;const r=a;if(typeof t!=="string"){let r=typeof t;let n=undefined;if(!(n!==undefined)){if(r=="number"||r=="boolean"){n=""+t}else if(t===null){n=""}else{validate10.errors=[{instancePath:s+"/remoteAddress",schemaPath:"#/properties/remoteAddress/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(n!==undefined){t=n;if(e!==undefined){e["remoteAddress"]=n}}}var m=r===a}else{var m=true}if(m){if(e.method!==undefined){let r=e.method;const n=a;if(typeof r!=="string"){let t=typeof r;let n=undefined;if(!(n!==undefined)){if(t=="number"||t=="boolean"){n=""+r}else if(r===null){n=""}else{validate10.errors=[{instancePath:s+"/method",schemaPath:"#/properties/method/type",keyword:"type",params:{type:"string"},message:"must be string"}];return false}}if(n!==undefined){r=n;if(e!==undefined){e["method"]=n}}}if(!(r==="ACL"||r==="BIND"||r==="CHECKOUT"||r==="CONNECT"||r==="COPY"||r==="DELETE"||r==="GET"||r==="HEAD"||r==="LINK"||r==="LOCK"||r==="M-SEARCH"||r==="MERGE"||r==="MKACTIVITY"||r==="MKCALENDAR"||r==="MKCOL"||r==="MOVE"||r==="NOTIFY"||r==="OPTIONS"||r==="PATCH"||r==="POST"||r==="PROPFIND"||r==="PROPPATCH"||r==="PURGE"||r==="PUT"||r==="QUERY"||r==="REBIND"||r==="REPORT"||r==="SEARCH"||r==="SOURCE"||r==="SUBSCRIBE"||r==="TRACE"||r==="UNBIND"||r==="UNLINK"||r==="UNLOCK"||r==="UNSUBSCRIBE"||r==="acl"||r==="bind"||r==="checkout"||r==="connect"||r==="copy"||r==="delete"||r==="get"||r==="head"||r==="link"||r==="lock"||r==="m-search"||r==="merge"||r==="mkactivity"||r==="mkcalendar"||r==="mkcol"||r==="move"||r==="notify"||r==="options"||r==="patch"||r==="post"||r==="propfind"||r==="proppatch"||r==="purge"||r==="put"||r==="query"||r==="rebind"||r==="report"||r==="search"||r==="source"||r==="subscribe"||r==="trace"||r==="unbind"||r==="unlink"||r==="unlock"||r==="unsubscribe")){validate10.errors=[{instancePath:s+"/method",schemaPath:"#/properties/method/enum",keyword:"enum",params:{allowedValues:t.properties.method.enum},message:"must be equal to one of the allowed values"}];return false}var m=n===a}else{var m=true}if(m){if(e.validate!==undefined){let t=e.validate;const r=a;if(typeof t!=="boolean"){let r=undefined;if(!(r!==undefined)){if(t==="false"||t===0||t===null){r=false}else if(t==="true"||t===1){r=true}else{validate10.errors=[{instancePath:s+"/validate",schemaPath:"#/properties/validate/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}];return false}}if(r!==undefined){t=r;if(e!==undefined){e["validate"]=r}}}var m=r===a}else{var m=true}}}}}}}}}}}else{validate10.errors=[{instancePath:s,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}];return false}}validate10.errors=o;return a===0}},333:function(e,t,s){const{randomUUID:r}=s(5);const{Readable:n}=s(492);let i;function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function formDataToStream(e){i=i??new TextEncoder;const t=`----formdata-${r()}`;const s=`--${t}\r\nContent-Disposition: form-data`
2
+ /*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const o=new Uint8Array([13,10]);async function*asyncIterator(){for(const[t,r]of e){if(typeof r==="string"){yield i.encode(`${s}; name="${escape(normalizeLinefeeds(t))}"\r\n\r\n`);yield i.encode(`${normalizeLinefeeds(r)}\r\n`)}else{let e=`${s}; name="${escape(normalizeLinefeeds(t))}"`;r.name&&(e+=`; filename="${escape(r.name)}"`);e+=`\r\nContent-Type: ${r.type||"application/octet-stream"}\r\n\r\n`;yield i.encode(e);if(r.stream){yield*r.stream()}else{yield r}yield o}}yield i.encode(`--${t}--`)}const a=n.from(asyncIterator());return{stream:a,contentType:`multipart/form-data; boundary=${t}`}}e.exports.isFormDataLike=isFormDataLike;e.exports.formDataToStream=formDataToStream},274:function(e,t,s){const{URL:r}=s(41);const n="http://localhost";e.exports=function parseURL(e,t){if((typeof e==="string"||Object.prototype.toString.call(e)==="[object String]")&&e.startsWith("//")){e=n+e}const s=typeof e==="object"?Object.assign(new r(n),e):new r(e,n);if(typeof t==="string"){t=new URLSearchParams(t);for(const e of t.keys()){s.searchParams.delete(e);for(const r of t.getAll(e)){s.searchParams.append(e,r)}}}else{const r=Object.assign({},e.query,t);for(const e in r){const t=r[e];if(Array.isArray(t)){s.searchParams.delete(e);for(const r of t){s.searchParams.append(e,r)}}else{s.searchParams.set(e,t)}}}return s}},664:function(e,t,s){const{Readable:r,addAbortSignal:n}=s(492);const i=s(261);const o=s(314);const a=s(61);const{createDeprecation:u}=s(995);const l=s(274);const{isFormDataLike:f,formDataToStream:p}=s(333);const{EventEmitter:c}=s(673);const d=u({name:"FastifyDeprecationLightMyRequest",code:"FST_LIGHTMYREQUEST_DEP01",message:'You are accessing "request.connection", use "request.socket" instead.'});function hostHeaderFromURL(e){return e.port?e.host:e.hostname+(e.protocol==="https:"?":443":":80")}class MockSocket extends c{constructor(e){super();this.remoteAddress=e}}function CustomRequest(e){return new _CustomLMRRequest(this);function _CustomLMRRequest(t){Request.call(t,{...e,Request:undefined});Object.assign(this,t);for(const e of Object.keys(Request.prototype)){this.constructor.prototype[e]=Request.prototype[e]}i.inherits(this.constructor,e.Request);return this}}function Request(e){r.call(this,{autoDestroy:false});const t=l(e.url||e.path,e.query);this.url=t.pathname+t.search;this.aborted=false;this.httpVersionMajor=1;this.httpVersionMinor=1;this.httpVersion="1.1";this.method=e.method?e.method.toUpperCase():"GET";this.headers={};this.rawHeaders=[];const s=e.headers||{};for(const e in s){const t=e.toLowerCase();if((t==="user-agent"||t==="content-type")&&s[e]===undefined){this.headers[t]=undefined;continue}const r=s[e];a(r!==undefined,'invalid value "undefined" for header '+e);this.headers[t]=""+r}if("user-agent"in this.headers===false){this.headers["user-agent"]="lightMyRequest"}this.headers.host=this.headers.host||e.authority||hostHeaderFromURL(t);if(e.cookies){const{cookies:t}=e;const s=Object.keys(t).map((e=>o.serialize(e,t[e])));if(this.headers.cookie){s.unshift(this.headers.cookie)}this.headers.cookie=s.join("; ")}this.socket=new MockSocket(e.remoteAddress||"127.0.0.1");Object.defineProperty(this,"connection",{get(){d();return this.socket},configurable:true});let i=e.payload||e.body||null;let u=i&&typeof i.resume==="function";if(f(i)){const e=p(i);i=e.stream;u=true;this.headers["content-type"]=e.contentType;this.headers["transfer-encoding"]="chunked"}if(i&&typeof i!=="string"&&!u&&!Buffer.isBuffer(i)){i=JSON.stringify(i);if("content-type"in this.headers===false){this.headers["content-type"]="application/json"}}if(i&&!u&&!Object.hasOwn(this.headers,"content-length")){this.headers["content-length"]=(Buffer.isBuffer(i)?i.length:Buffer.byteLength(i)).toString()}for(const e of Object.keys(this.headers)){this.rawHeaders.push(e,this.headers[e])}this._lightMyRequest={payload:i,isDone:false,simulate:e.simulate||{},payloadAsStream:e.payloadAsStream,signal:e.signal};const c=e.signal;if(c){n(c,this)}{const e=this._lightMyRequest.payload;if(e?._readableState){this._read=readStream;e.on("error",(e=>{this.destroy(e)}));e.on("end",(()=>{this.push(null)}))}else{this._read=readEverythingElse}}return this}function readStream(){const e=this._lightMyRequest.payload;let t=true;let s=false;let r;while(t&&(r=e.read())){s=true;t=this.push(r)}if(t&&!s){this._lightMyRequest.payload.once("readable",this._read.bind(this))}}function readEverythingElse(){setImmediate((()=>{if(this._lightMyRequest.isDone){if(this._lightMyRequest.simulate.end!==false){this.push(null)}return}this._lightMyRequest.isDone=true;if(this._lightMyRequest.payload){if(this._lightMyRequest.simulate.split){this.push(this._lightMyRequest.payload.slice(0,1));this.push(this._lightMyRequest.payload.slice(1))}else{this.push(this._lightMyRequest.payload)}}if(this._lightMyRequest.simulate.error){this.emit("error",new Error("Simulated"))}if(this._lightMyRequest.simulate.close){this.emit("close")}if(this._lightMyRequest.simulate.end!==false){this.push(null)}}))}i.inherits(Request,r);i.inherits(CustomRequest,Request);Request.prototype.destroy=function(e){if(this.destroyed||this._lightMyRequest.isDone)return;this.destroyed=true;if(e){this._error=true;process.nextTick((()=>this.emit("error",e)))}process.nextTick((()=>this.emit("close")))};e.exports=Request;e.exports.Request=Request;e.exports.CustomRequest=CustomRequest},991:function(e,t,s){const r=s(849);const{Writable:n,Readable:i,addAbortSignal:o}=s(492);const a=s(261);const u=s(303);function Response(e,t,s){r.ServerResponse.call(this,e);if(e._lightMyRequest?.payloadAsStream){const t=this.emit.bind(this,"drain");this._lightMyRequest={headers:null,trailers:{},stream:new i({read:t})};const s=e._lightMyRequest.signal;if(s){o(s,this._lightMyRequest.stream)}}else{this._lightMyRequest={headers:null,trailers:{},payloadChunks:[]}}this.setHeader("foo","bar");this.removeHeader("foo");this.assignSocket(getNullSocket());this._promiseCallback=typeof s==="function";let n=false;const onEndSuccess=e=>{if(n)return;n=true;if(this._promiseCallback){return process.nextTick((()=>t(e)))}process.nextTick((()=>t(null,e)))};this._lightMyRequest.onEndSuccess=onEndSuccess;let a=false;const onEndFailure=e=>{if(n){if(this._lightMyRequest.stream&&!a){if(!e){e=new Error("response destroyed before completion");e.code="LIGHT_ECONNRESET"}this._lightMyRequest.stream.destroy(e);this._lightMyRequest.stream.on("error",(()=>{}))}return}n=true;if(!e){e=new Error("response destroyed before completion");e.code="LIGHT_ECONNRESET"}if(this._promiseCallback){return process.nextTick((()=>s(e)))}process.nextTick((()=>t(e,null)))};if(this._lightMyRequest.stream){this.once("finish",(()=>{a=true;this._lightMyRequest.stream.push(null)}))}else{this.once("finish",(()=>{const t=generatePayload(this);t.raw.req=e;onEndSuccess(t)}))}this.connection.once("error",onEndFailure);this.once("error",onEndFailure);this.once("close",onEndFailure)}a.inherits(Response,r.ServerResponse);Response.prototype.setTimeout=function(e,t){this.timeoutHandle=setTimeout((()=>{this.emit("timeout")}),e);this.on("timeout",t);return this};Response.prototype.writeHead=function(){const e=r.ServerResponse.prototype.writeHead.apply(this,arguments);copyHeaders(this);if(this._lightMyRequest.stream){this._lightMyRequest.onEndSuccess(generatePayload(this))}return e};Response.prototype.write=function(e,t,s){if(this.timeoutHandle){clearTimeout(this.timeoutHandle)}r.ServerResponse.prototype.write.call(this,e,t,s);if(this._lightMyRequest.stream){return this._lightMyRequest.stream.push(Buffer.from(e,t))}else{this._lightMyRequest.payloadChunks.push(Buffer.from(e,t));return true}};Response.prototype.end=function(e,t,s){if(e){this.write(e,t)}r.ServerResponse.prototype.end.call(this,s);this.emit("finish");this.destroy()};Response.prototype.destroy=function(e){if(this.destroyed)return;this.destroyed=true;if(e){process.nextTick((()=>this.emit("error",e)))}process.nextTick((()=>this.emit("close")))};Response.prototype.addTrailers=function(e){for(const t in e){this._lightMyRequest.trailers[t.toLowerCase().trim()]=e[t].toString().trim()}};function generatePayload(e){if(e._lightMyRequest.headers===null){copyHeaders(e)}serializeHeaders(e);const t={raw:{res:e},headers:e._lightMyRequest.headers,statusCode:e.statusCode,statusMessage:e.statusMessage,trailers:{},get cookies(){return u.parse(this)}};t.trailers=e._lightMyRequest.trailers;if(e._lightMyRequest.payloadChunks){const s=Buffer.concat(e._lightMyRequest.payloadChunks);t.rawPayload=s;t.payload=s.toString();t.body=t.payload;t.json=function parseJsonPayload(){return JSON.parse(t.payload)}}else{t.json=function(){throw new Error("Response payload is not available with payloadAsStream: true")}}t.stream=function streamPayload(){if(e._lightMyRequest.stream){return e._lightMyRequest.stream}return i.from(e._lightMyRequest.payloadChunks)};return t}function getNullSocket(){return new n({write(e,t,s){setImmediate(s)}})}function serializeHeaders(e){const t=e._lightMyRequest.headers;for(const e of Object.keys(t)){const s=t[e];if(Array.isArray(s)){t[e]=s.map((e=>""+e))}else{t[e]=""+s}}}function copyHeaders(e){e._lightMyRequest.headers=Object.assign({},e.getHeaders());["Date","Connection","Transfer-Encoding"].forEach((t=>{const s=new RegExp("\\r\\n"+t+": ([^\\r]*)\\r\\n");const r=e._header?.match(s);if(r){e._lightMyRequest.headers[t.toLowerCase()]=r[1]}}))}e.exports=Response},995:function(e,t,s){const{format:r}=s(261);function createDeprecation(e){return createWarning({...e,name:"DeprecationWarning"})}function createWarning({name:e,code:t,message:s,unlimited:n=false}={}){if(!e)throw new Error("Warning name must not be empty");if(!t)throw new Error("Warning code must not be empty");if(!s)throw new Error("Warning message must not be empty");if(typeof n!=="boolean")throw new Error("Warning opts.unlimited must be a boolean");t=t.toUpperCase();let i={[e]:function(e,t,s){if(o.emitted===true&&o.unlimited!==true){return}o.emitted=true;process.emitWarning(o.format(e,t,s),o.name,o.code)}};if(n){i={[e]:function(e,t,s){o.emitted=true;process.emitWarning(o.format(e,t,s),o.name,o.code)}}}const o=i[e];o.emitted=false;o.message=s;o.unlimited=n;o.code=t;o.format=function(e,t,n){let i;if(e&&t&&n){i=r(s,e,t,n)}else if(e&&t){i=r(s,e,t)}else if(e){i=r(s,e)}else{i=s}return i};return o}const n={createWarning:createWarning,createDeprecation:createDeprecation};e.exports=n;e.exports["default"]=n;e.exports.processWarning=n}};var t={};function __nccwpck_require__(s){var r=t[s];if(r!==undefined){return r.exports}var n=t[s]={exports:{}};var i=true;try{e[s](n,n.exports,__nccwpck_require__);i=false}finally{if(i)delete t[s]}return n.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var s=__nccwpck_require__(438);module.exports=s})();