@nocobase/plugin-idp-oauth 2.3.0-beta.9 → 2.4.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 (602) hide show
  1. package/build.config.ts +1 -1
  2. package/dist/client/index.js +1 -1
  3. package/dist/client-v2/{711.89a4c42afec82a37.js → 711.b95ec5ff736ba34c.js} +1 -1
  4. package/dist/client-v2/index.js +1 -1
  5. package/dist/externalVersion.js +8 -8
  6. package/dist/node_modules/light-my-request/index.js +2 -2
  7. package/dist/node_modules/light-my-request/node_modules/cookie/dist/index.d.ts +148 -0
  8. package/dist/node_modules/light-my-request/node_modules/cookie/dist/index.js +350 -0
  9. package/dist/node_modules/light-my-request/node_modules/cookie/package.json +47 -0
  10. package/dist/node_modules/light-my-request/package.json +1 -1
  11. package/dist/node_modules/ms/package.json +1 -1
  12. package/dist/node_modules/oidc-provider/README.md +28 -25
  13. package/dist/node_modules/oidc-provider/THIRD-PARTY-NOTICES.md +184 -0
  14. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba.js +169 -0
  15. package/dist/node_modules/oidc-provider/lib/actions/authorization/claims.js +132 -0
  16. package/dist/node_modules/oidc-provider/lib/actions/authorization/client.js +50 -0
  17. package/dist/node_modules/oidc-provider/lib/actions/authorization/device.js +164 -0
  18. package/dist/node_modules/oidc-provider/lib/actions/authorization/index.js +112 -163
  19. package/dist/node_modules/oidc-provider/lib/actions/authorization/interactions.js +32 -13
  20. package/dist/node_modules/oidc-provider/lib/actions/authorization/process_request_object.js +47 -25
  21. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_requests.js +127 -0
  22. package/dist/node_modules/oidc-provider/lib/actions/authorization/request_parameters.js +188 -0
  23. package/dist/node_modules/oidc-provider/lib/actions/authorization/respond.js +15 -10
  24. package/dist/node_modules/oidc-provider/lib/actions/authorization/response_parameters.js +175 -0
  25. package/dist/node_modules/oidc-provider/lib/actions/authorization/resume.js +8 -4
  26. package/dist/node_modules/oidc-provider/lib/actions/authorization/scopes.js +109 -0
  27. package/dist/node_modules/oidc-provider/lib/actions/authorization/{check_pkce.js → sender_constraints.js} +31 -8
  28. package/dist/node_modules/oidc-provider/lib/actions/authorization/{load_grant.js → session.js} +21 -4
  29. package/dist/node_modules/oidc-provider/lib/actions/challenge.js +6 -1
  30. package/dist/node_modules/oidc-provider/lib/actions/code_verification.js +1 -3
  31. package/dist/node_modules/oidc-provider/lib/actions/credential.js +757 -0
  32. package/dist/node_modules/oidc-provider/lib/actions/discovery.js +11 -2
  33. package/dist/node_modules/oidc-provider/lib/actions/end_session.js +23 -15
  34. package/dist/node_modules/oidc-provider/lib/actions/grants/authorization_code.js +24 -94
  35. package/dist/node_modules/oidc-provider/lib/actions/grants/ciba.js +22 -86
  36. package/dist/node_modules/oidc-provider/lib/actions/grants/client_credentials.js +26 -45
  37. package/dist/node_modules/oidc-provider/lib/actions/grants/device_code.js +23 -83
  38. package/dist/node_modules/oidc-provider/lib/actions/grants/index.js +1 -2
  39. package/dist/node_modules/oidc-provider/lib/actions/grants/pre_authorized_code.js +70 -0
  40. package/dist/node_modules/oidc-provider/lib/actions/grants/refresh_token.js +46 -59
  41. package/dist/node_modules/oidc-provider/lib/actions/index.js +10 -6
  42. package/dist/node_modules/oidc-provider/lib/actions/interaction.js +124 -113
  43. package/dist/node_modules/oidc-provider/lib/actions/introspection.js +137 -141
  44. package/dist/node_modules/oidc-provider/lib/actions/openid_credential_issuer.js +17 -0
  45. package/dist/node_modules/oidc-provider/lib/actions/registration.js +30 -6
  46. package/dist/node_modules/oidc-provider/lib/actions/revocation.js +56 -61
  47. package/dist/node_modules/oidc-provider/lib/actions/token.js +98 -54
  48. package/dist/node_modules/oidc-provider/lib/actions/userinfo.js +24 -102
  49. package/dist/node_modules/oidc-provider/lib/adapters/memory_adapter.js +107 -23
  50. package/dist/node_modules/oidc-provider/lib/consts/client_attributes.js +5 -5
  51. package/dist/node_modules/oidc-provider/lib/consts/jwa.js +3 -3
  52. package/dist/node_modules/oidc-provider/lib/consts/param_list.js +1 -1
  53. package/dist/node_modules/oidc-provider/lib/helpers/_/defaults.js +0 -2
  54. package/dist/node_modules/oidc-provider/lib/helpers/_/is_json_object.js +1 -0
  55. package/dist/node_modules/oidc-provider/lib/helpers/_/merge.js +0 -2
  56. package/dist/node_modules/oidc-provider/lib/helpers/_/omit_by.js +0 -2
  57. package/dist/node_modules/oidc-provider/lib/helpers/_/pick.js +1 -1
  58. package/dist/node_modules/oidc-provider/lib/helpers/_/remove.js +1 -1
  59. package/dist/node_modules/oidc-provider/lib/helpers/add_client.js +0 -1
  60. package/dist/node_modules/oidc-provider/lib/helpers/assert_provider_context.js +5 -0
  61. package/dist/node_modules/oidc-provider/lib/helpers/attention.js +2 -2
  62. package/dist/node_modules/oidc-provider/lib/helpers/challenge.js +29 -42
  63. package/dist/node_modules/oidc-provider/lib/helpers/claims.js +2 -1
  64. package/dist/node_modules/oidc-provider/lib/helpers/client_id_metadata_document.js +131 -62
  65. package/dist/node_modules/oidc-provider/lib/helpers/client_schema.js +46 -24
  66. package/dist/node_modules/oidc-provider/lib/helpers/configuration.js +363 -29
  67. package/dist/node_modules/oidc-provider/lib/helpers/configuration_result.js +84 -0
  68. package/dist/node_modules/oidc-provider/lib/helpers/constant_equals.js +1 -1
  69. package/dist/node_modules/oidc-provider/lib/helpers/defaults.js +3166 -2757
  70. package/dist/node_modules/oidc-provider/lib/helpers/errors.js +52 -34
  71. package/dist/node_modules/oidc-provider/lib/helpers/features.js +6 -8
  72. package/dist/node_modules/oidc-provider/lib/helpers/fetch_request.js +136 -99
  73. package/dist/node_modules/oidc-provider/lib/helpers/filter_claims.js +0 -1
  74. package/dist/node_modules/oidc-provider/lib/helpers/grant_authorization.js +78 -0
  75. package/dist/node_modules/oidc-provider/lib/helpers/grant_common.js +77 -103
  76. package/dist/node_modules/oidc-provider/lib/helpers/grant_refresh_token.js +22 -0
  77. package/dist/node_modules/oidc-provider/lib/helpers/grant_response.js +58 -0
  78. package/dist/node_modules/oidc-provider/lib/helpers/grant_source.js +60 -0
  79. package/dist/node_modules/oidc-provider/lib/helpers/grants.js +33 -0
  80. package/dist/node_modules/oidc-provider/lib/helpers/initialize_adapter.js +4 -2
  81. package/dist/node_modules/oidc-provider/lib/helpers/initialize_app.js +114 -90
  82. package/dist/node_modules/oidc-provider/lib/helpers/initialize_keystore.js +61 -54
  83. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/check.js +0 -2
  84. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/index.js +3 -1
  85. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompt.js +3 -4
  86. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/consent.js +2 -5
  87. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/login.js +3 -6
  88. package/dist/node_modules/oidc-provider/lib/helpers/is_valid_scope.js +5 -0
  89. package/dist/node_modules/oidc-provider/lib/helpers/jwt.js +26 -11
  90. package/dist/node_modules/oidc-provider/lib/helpers/keystore.js +2 -4
  91. package/dist/node_modules/oidc-provider/lib/helpers/lru.js +111 -0
  92. package/dist/node_modules/oidc-provider/lib/helpers/nanoid.js +80 -3
  93. package/dist/node_modules/oidc-provider/lib/helpers/normalize_authorization_details.js +54 -0
  94. package/dist/node_modules/oidc-provider/lib/helpers/oidc_context.js +18 -33
  95. package/dist/node_modules/oidc-provider/lib/helpers/params.js +8 -19
  96. package/dist/node_modules/oidc-provider/lib/helpers/pkce.js +5 -5
  97. package/dist/node_modules/oidc-provider/lib/helpers/process_response_types.js +23 -14
  98. package/dist/node_modules/oidc-provider/lib/helpers/re_render_errors.js +4 -6
  99. package/dist/node_modules/oidc-provider/lib/helpers/resolve_resource.js +5 -2
  100. package/dist/node_modules/oidc-provider/lib/helpers/resource_server.js +0 -2
  101. package/dist/node_modules/oidc-provider/lib/helpers/revoke.js +9 -2
  102. package/dist/node_modules/oidc-provider/lib/helpers/router.js +221 -0
  103. package/dist/node_modules/oidc-provider/lib/helpers/sector_validate.js +19 -13
  104. package/dist/node_modules/oidc-provider/lib/helpers/sender_constraints.js +24 -0
  105. package/dist/node_modules/oidc-provider/lib/helpers/set_rt_bindings.js +0 -2
  106. package/dist/node_modules/oidc-provider/lib/helpers/token_find.js +36 -43
  107. package/dist/node_modules/oidc-provider/lib/helpers/user_codes.js +1 -1
  108. package/dist/node_modules/oidc-provider/lib/helpers/validate_dpop.js +40 -21
  109. package/dist/node_modules/oidc-provider/lib/helpers/weak_cache.js +4 -4
  110. package/dist/node_modules/oidc-provider/lib/index.js +1 -3
  111. package/dist/node_modules/oidc-provider/lib/models/access_token.js +42 -17
  112. package/dist/node_modules/oidc-provider/lib/models/authorization_code.js +39 -17
  113. package/dist/node_modules/oidc-provider/lib/models/backchannel_authentication_request.js +37 -15
  114. package/dist/node_modules/oidc-provider/lib/models/base_model.js +42 -21
  115. package/dist/node_modules/oidc-provider/lib/models/base_token.js +5 -3
  116. package/dist/node_modules/oidc-provider/lib/models/client.js +113 -67
  117. package/dist/node_modules/oidc-provider/lib/models/client_credentials.js +30 -9
  118. package/dist/node_modules/oidc-provider/lib/models/device_code.js +40 -17
  119. package/dist/node_modules/oidc-provider/lib/models/formats/index.js +20 -12
  120. package/dist/node_modules/oidc-provider/lib/models/formats/jwt.js +165 -166
  121. package/dist/node_modules/oidc-provider/lib/models/formats/opaque.js +57 -48
  122. package/dist/node_modules/oidc-provider/lib/models/grant.js +1 -9
  123. package/dist/node_modules/oidc-provider/lib/models/id_token.js +13 -14
  124. package/dist/node_modules/oidc-provider/lib/models/index.js +2 -0
  125. package/dist/node_modules/oidc-provider/lib/models/initial_access_token.js +14 -8
  126. package/dist/node_modules/oidc-provider/lib/models/interaction.js +2 -4
  127. package/dist/node_modules/oidc-provider/lib/models/payload.js +33 -0
  128. package/dist/node_modules/oidc-provider/lib/models/pre_authorized_code.js +28 -0
  129. package/dist/node_modules/oidc-provider/lib/models/pushed_authorization_request.js +17 -9
  130. package/dist/node_modules/oidc-provider/lib/models/refresh_token.js +57 -25
  131. package/dist/node_modules/oidc-provider/lib/models/registration_access_token.js +20 -7
  132. package/dist/node_modules/oidc-provider/lib/models/replay_detection.js +1 -3
  133. package/dist/node_modules/oidc-provider/lib/models/session.js +12 -16
  134. package/dist/node_modules/oidc-provider/lib/models/token_helpers.js +79 -0
  135. package/dist/node_modules/oidc-provider/lib/provider.js +50 -23
  136. package/dist/node_modules/oidc-provider/lib/response_modes/index.js +0 -2
  137. package/dist/node_modules/oidc-provider/lib/response_modes/jwt.js +0 -1
  138. package/dist/node_modules/oidc-provider/lib/response_modes/web_message.js +14 -4
  139. package/dist/node_modules/oidc-provider/lib/shared/access_token.js +85 -0
  140. package/dist/node_modules/oidc-provider/lib/shared/assemble_params.js +1 -1
  141. package/dist/node_modules/oidc-provider/lib/shared/attest_client_auth.js +39 -16
  142. package/dist/node_modules/oidc-provider/lib/shared/authorization_error_handler.js +79 -77
  143. package/dist/node_modules/oidc-provider/lib/shared/check_rar.js +13 -28
  144. package/dist/node_modules/oidc-provider/lib/shared/check_resource.js +20 -11
  145. package/dist/node_modules/oidc-provider/lib/shared/client_auth.js +265 -201
  146. package/dist/node_modules/oidc-provider/lib/shared/cors.js +48 -16
  147. package/dist/node_modules/oidc-provider/lib/shared/error_handler.js +13 -4
  148. package/dist/node_modules/oidc-provider/lib/shared/jwt_client_auth.js +9 -3
  149. package/dist/node_modules/oidc-provider/lib/shared/reject_dupes.js +12 -32
  150. package/dist/node_modules/oidc-provider/lib/shared/selective_body.js +54 -14
  151. package/dist/node_modules/oidc-provider/lib/shared/session.js +6 -6
  152. package/dist/node_modules/oidc-provider/lib/shared/set_www_authenticate_header.js +1 -2
  153. package/dist/node_modules/oidc-provider/lib/shared/validate_json_body.js +11 -0
  154. package/dist/node_modules/oidc-provider/lib/views/index.js +43 -14
  155. package/dist/node_modules/oidc-provider/lib/views/interaction.js +62 -144
  156. package/dist/node_modules/oidc-provider/lib/views/layout.js +29 -216
  157. package/dist/node_modules/oidc-provider/lib/views/login.js +14 -23
  158. package/dist/node_modules/{undici/lib/web/fetch/LICENSE → oidc-provider/node_modules/jose/LICENSE.md} +2 -2
  159. package/dist/node_modules/oidc-provider/node_modules/jose/README.md +150 -0
  160. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/index.d.ts +55 -0
  161. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +24 -0
  162. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +40 -0
  163. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +24 -0
  164. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +46 -0
  165. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +28 -0
  166. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +51 -0
  167. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwk/embedded.d.ts +10 -0
  168. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwk/thumbprint.d.ts +15 -0
  169. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwks/local.d.ts +17 -0
  170. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwks/remote.d.ts +94 -0
  171. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/compact/sign.d.ts +20 -0
  172. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/compact/verify.d.ts +25 -0
  173. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/flattened/sign.d.ts +22 -0
  174. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/flattened/verify.d.ts +25 -0
  175. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/general/sign.d.ts +38 -0
  176. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/general/verify.d.ts +29 -0
  177. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/decrypt.d.ts +34 -0
  178. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/encrypt.d.ts +57 -0
  179. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/sign.d.ts +21 -0
  180. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/unsecured.d.ts +19 -0
  181. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/verify.d.ts +35 -0
  182. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/export.d.ts +19 -0
  183. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/generate_key_pair.d.ts +33 -0
  184. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/generate_secret.d.ts +30 -0
  185. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/import.d.ts +67 -0
  186. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/types.d.ts +736 -0
  187. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/base64url.d.ts +16 -0
  188. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/decode_jwt.d.ts +8 -0
  189. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/decode_protected_header.d.ts +10 -0
  190. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/errors.d.ts +182 -0
  191. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/index.js +70 -0
  192. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +7 -0
  193. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +26 -0
  194. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +15 -0
  195. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +35 -0
  196. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/general/decrypt.js +40 -0
  197. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/general/encrypt.js +105 -0
  198. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwk/embedded.js +30 -0
  199. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwk/thumbprint.js +55 -0
  200. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwks/local.js +59 -0
  201. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwks/remote.js +101 -0
  202. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/compact/sign.js +20 -0
  203. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/compact/verify.js +8 -0
  204. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/flattened/sign.js +23 -0
  205. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/flattened/verify.js +12 -0
  206. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/general/sign.js +58 -0
  207. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/general/verify.js +48 -0
  208. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/decrypt.js +13 -0
  209. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/encrypt.js +45 -0
  210. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/sign.js +19 -0
  211. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/unsecured.js +34 -0
  212. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/verify.js +13 -0
  213. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/export.js +35 -0
  214. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/generate_key_pair.js +35 -0
  215. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/generate_secret.js +36 -0
  216. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/import.js +53 -0
  217. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/asn1.js +138 -0
  218. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/buffer_utils.js +75 -0
  219. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/content_encryption.js +90 -0
  220. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/deflate.js +40 -0
  221. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +116 -0
  222. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +187 -0
  223. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +75 -0
  224. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_algorithms.js +74 -0
  225. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_sign.js +46 -0
  226. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_verify.js +86 -0
  227. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +146 -0
  228. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key.js +155 -0
  229. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_algorithm.js +15 -0
  230. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_descriptor.js +9 -0
  231. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_management.js +196 -0
  232. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/validate.js +122 -0
  233. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/base64url.js +16 -0
  234. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/decode_jwt.js +33 -0
  235. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/decode_protected_header.js +19 -0
  236. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/errors.js +109 -0
  237. package/dist/node_modules/oidc-provider/node_modules/jose/package.json +134 -0
  238. package/dist/node_modules/oidc-provider/node_modules/{jsesc/LICENSE-MIT.txt → koa/LICENSE} +10 -8
  239. package/dist/node_modules/oidc-provider/node_modules/koa/Readme.md +279 -0
  240. package/dist/node_modules/oidc-provider/node_modules/koa/dist/koa.mjs +4 -0
  241. package/dist/node_modules/oidc-provider/node_modules/koa/lib/application.js +344 -0
  242. package/dist/node_modules/oidc-provider/node_modules/koa/lib/context.js +248 -0
  243. package/dist/node_modules/oidc-provider/node_modules/koa/lib/is-stream.js +20 -0
  244. package/dist/node_modules/oidc-provider/node_modules/koa/lib/only.js +9 -0
  245. package/dist/node_modules/oidc-provider/node_modules/koa/lib/request.js +748 -0
  246. package/dist/node_modules/oidc-provider/node_modules/koa/lib/response.js +660 -0
  247. package/dist/node_modules/oidc-provider/node_modules/koa/lib/search-params.js +33 -0
  248. package/dist/node_modules/oidc-provider/node_modules/koa/package.json +73 -0
  249. package/dist/node_modules/oidc-provider/node_modules/media-typer/HISTORY.md +50 -0
  250. package/dist/node_modules/oidc-provider/node_modules/media-typer/LICENSE +22 -0
  251. package/dist/node_modules/oidc-provider/node_modules/media-typer/README.md +93 -0
  252. package/dist/node_modules/oidc-provider/node_modules/media-typer/index.js +143 -0
  253. package/dist/node_modules/oidc-provider/node_modules/media-typer/package.json +33 -0
  254. package/dist/node_modules/oidc-provider/node_modules/mime-db/HISTORY.md +541 -0
  255. package/dist/node_modules/oidc-provider/node_modules/mime-db/LICENSE +23 -0
  256. package/dist/node_modules/oidc-provider/node_modules/mime-db/README.md +109 -0
  257. package/dist/node_modules/oidc-provider/node_modules/mime-db/db.json +9342 -0
  258. package/dist/node_modules/oidc-provider/node_modules/mime-db/index.js +12 -0
  259. package/dist/node_modules/oidc-provider/node_modules/mime-db/package.json +56 -0
  260. package/dist/node_modules/oidc-provider/node_modules/mime-types/HISTORY.md +421 -0
  261. package/dist/node_modules/oidc-provider/node_modules/mime-types/LICENSE +23 -0
  262. package/dist/node_modules/oidc-provider/node_modules/mime-types/README.md +126 -0
  263. package/dist/node_modules/oidc-provider/node_modules/mime-types/index.js +211 -0
  264. package/dist/node_modules/oidc-provider/node_modules/mime-types/mimeScore.js +52 -0
  265. package/dist/node_modules/oidc-provider/node_modules/mime-types/package.json +45 -0
  266. package/dist/node_modules/oidc-provider/node_modules/type-is/HISTORY.md +292 -0
  267. package/dist/node_modules/oidc-provider/node_modules/type-is/LICENSE +23 -0
  268. package/dist/node_modules/oidc-provider/node_modules/type-is/README.md +198 -0
  269. package/dist/node_modules/oidc-provider/node_modules/type-is/index.js +250 -0
  270. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/HISTORY.md +428 -0
  271. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/LICENSE +23 -0
  272. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/README.md +126 -0
  273. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/index.js +211 -0
  274. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/mimeScore.js +57 -0
  275. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/package.json +49 -0
  276. package/dist/node_modules/oidc-provider/node_modules/type-is/package.json +47 -0
  277. package/dist/node_modules/oidc-provider/package.json +5 -42
  278. package/dist/server/service.js +7 -2
  279. package/package.json +3 -3
  280. package/dist/node_modules/eta/LICENSE +0 -7
  281. package/dist/node_modules/eta/README.md +0 -185
  282. package/dist/node_modules/eta/dist/core.d.ts +0 -179
  283. package/dist/node_modules/eta/dist/core.d.ts.map +0 -1
  284. package/dist/node_modules/eta/dist/core.js +0 -42
  285. package/dist/node_modules/eta/dist/core.js.map +0 -1
  286. package/dist/node_modules/eta/dist/index.cjs +0 -542
  287. package/dist/node_modules/eta/dist/index.cjs.map +0 -1
  288. package/dist/node_modules/eta/dist/index.d.cts +0 -187
  289. package/dist/node_modules/eta/dist/index.d.cts.map +0 -1
  290. package/dist/node_modules/eta/dist/index.d.mts +0 -187
  291. package/dist/node_modules/eta/dist/index.d.mts.map +0 -1
  292. package/dist/node_modules/eta/dist/index.mjs +0 -512
  293. package/dist/node_modules/eta/dist/index.mjs.map +0 -1
  294. package/dist/node_modules/eta/package.json +0 -75
  295. package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_claims.js +0 -28
  296. package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_defaults.js +0 -17
  297. package/dist/node_modules/oidc-provider/lib/actions/authorization/authenticated_client_id.js +0 -6
  298. package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_remap_errors.js +0 -17
  299. package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_response.js +0 -41
  300. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_ciba_context.js +0 -12
  301. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_claims.js +0 -68
  302. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client.js +0 -21
  303. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client_grant_type.js +0 -21
  304. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_dpop_jkt.js +0 -35
  305. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_extra_params.js +0 -18
  306. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_id_token_hint.js +0 -23
  307. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_max_age.js +0 -25
  308. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_openid_scope.js +0 -47
  309. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_prompt.js +0 -25
  310. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_redirect_uri.js +0 -41
  311. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_requested_expiry.js +0 -16
  312. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_mode.js +0 -54
  313. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_type.js +0 -26
  314. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_scope.js +0 -53
  315. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_load_account.js +0 -58
  316. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_required.js +0 -13
  317. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_authorization_response.js +0 -31
  318. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow.js +0 -31
  319. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_errors.js +0 -37
  320. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_response.js +0 -55
  321. package/dist/node_modules/oidc-provider/lib/actions/authorization/interaction_emit.js +0 -9
  322. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_account.js +0 -15
  323. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_pushed_authorization_request.js +0 -36
  324. package/dist/node_modules/oidc-provider/lib/actions/authorization/oauth_required.js +0 -11
  325. package/dist/node_modules/oidc-provider/lib/actions/authorization/oidc_required.js +0 -27
  326. package/dist/node_modules/oidc-provider/lib/actions/authorization/one_redirect_uri_clients.js +0 -20
  327. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_remap_errors.js +0 -17
  328. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_response.js +0 -65
  329. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_registration.js +0 -12
  330. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_request_and_uri.js +0 -12
  331. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_unsupported.js +0 -33
  332. package/dist/node_modules/oidc-provider/lib/actions/authorization/strip_outside_jar_params.js +0 -19
  333. package/dist/node_modules/oidc-provider/lib/actions/authorization/unsupported_rar.js +0 -9
  334. package/dist/node_modules/oidc-provider/lib/helpers/_/pick_by.js +0 -10
  335. package/dist/node_modules/oidc-provider/lib/models/formats/dynamic.js +0 -21
  336. package/dist/node_modules/oidc-provider/lib/models/mixins/apply.js +0 -4
  337. package/dist/node_modules/oidc-provider/lib/models/mixins/consumable.js +0 -17
  338. package/dist/node_modules/oidc-provider/lib/models/mixins/has_format.js +0 -46
  339. package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_id.js +0 -12
  340. package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_type.js +0 -8
  341. package/dist/node_modules/oidc-provider/lib/models/mixins/has_policies.js +0 -38
  342. package/dist/node_modules/oidc-provider/lib/models/mixins/is_attestation_constrained.js +0 -15
  343. package/dist/node_modules/oidc-provider/lib/models/mixins/is_sender_constrained.js +0 -50
  344. package/dist/node_modules/oidc-provider/lib/models/mixins/is_session_bound.js +0 -38
  345. package/dist/node_modules/oidc-provider/lib/models/mixins/set_audience.js +0 -21
  346. package/dist/node_modules/oidc-provider/lib/models/mixins/stores_auth.js +0 -16
  347. package/dist/node_modules/oidc-provider/lib/models/mixins/stores_pkce.js +0 -9
  348. package/dist/node_modules/oidc-provider/lib/shared/conditional_body.js +0 -9
  349. package/dist/node_modules/oidc-provider/node_modules/@koa/router/LICENSE +0 -21
  350. package/dist/node_modules/oidc-provider/node_modules/@koa/router/README.md +0 -1370
  351. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.mts +0 -1003
  352. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.ts +0 -1003
  353. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.js +0 -1616
  354. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.mjs +0 -1573
  355. package/dist/node_modules/oidc-provider/node_modules/@koa/router/package.json +0 -122
  356. package/dist/node_modules/oidc-provider/node_modules/http-errors/HISTORY.md +0 -186
  357. package/dist/node_modules/oidc-provider/node_modules/http-errors/LICENSE +0 -23
  358. package/dist/node_modules/oidc-provider/node_modules/http-errors/README.md +0 -169
  359. package/dist/node_modules/oidc-provider/node_modules/http-errors/index.js +0 -290
  360. package/dist/node_modules/oidc-provider/node_modules/http-errors/package.json +0 -54
  361. package/dist/node_modules/oidc-provider/node_modules/jsesc/README.md +0 -422
  362. package/dist/node_modules/oidc-provider/node_modules/jsesc/bin/jsesc +0 -148
  363. package/dist/node_modules/oidc-provider/node_modules/jsesc/jsesc.js +0 -337
  364. package/dist/node_modules/oidc-provider/node_modules/jsesc/man/jsesc.1 +0 -94
  365. package/dist/node_modules/oidc-provider/node_modules/jsesc/package.json +0 -56
  366. package/dist/node_modules/oidc-provider/node_modules/nanoid/LICENSE +0 -20
  367. package/dist/node_modules/oidc-provider/node_modules/nanoid/README.md +0 -38
  368. package/dist/node_modules/oidc-provider/node_modules/nanoid/bin/nanoid.js +0 -55
  369. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.browser.js +0 -29
  370. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.d.ts +0 -106
  371. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.js +0 -47
  372. package/dist/node_modules/oidc-provider/node_modules/nanoid/nanoid.js +0 -1
  373. package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.d.ts +0 -48
  374. package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.js +0 -21
  375. package/dist/node_modules/oidc-provider/node_modules/nanoid/package.json +0 -46
  376. package/dist/node_modules/oidc-provider/node_modules/nanoid/url-alphabet/index.js +0 -2
  377. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/LICENSE +0 -21
  378. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/Readme.md +0 -224
  379. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.d.ts +0 -147
  380. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js +0 -431
  381. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js.map +0 -1
  382. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/package.json +0 -64
  383. package/dist/node_modules/quick-lru/index.d.ts +0 -178
  384. package/dist/node_modules/quick-lru/index.js +0 -329
  385. package/dist/node_modules/quick-lru/license +0 -9
  386. package/dist/node_modules/quick-lru/package.json +0 -54
  387. package/dist/node_modules/quick-lru/readme.md +0 -236
  388. package/dist/node_modules/statuses/HISTORY.md +0 -87
  389. package/dist/node_modules/statuses/LICENSE +0 -23
  390. package/dist/node_modules/statuses/README.md +0 -139
  391. package/dist/node_modules/statuses/codes.json +0 -65
  392. package/dist/node_modules/statuses/index.js +0 -146
  393. package/dist/node_modules/statuses/package.json +0 -49
  394. package/dist/node_modules/undici/LICENSE +0 -21
  395. package/dist/node_modules/undici/README.md +0 -741
  396. package/dist/node_modules/undici/docs/docs/api/Agent.md +0 -84
  397. package/dist/node_modules/undici/docs/docs/api/BalancedPool.md +0 -99
  398. package/dist/node_modules/undici/docs/docs/api/CacheStorage.md +0 -30
  399. package/dist/node_modules/undici/docs/docs/api/CacheStore.md +0 -164
  400. package/dist/node_modules/undici/docs/docs/api/Client.md +0 -285
  401. package/dist/node_modules/undici/docs/docs/api/ClientStats.md +0 -27
  402. package/dist/node_modules/undici/docs/docs/api/Connector.md +0 -115
  403. package/dist/node_modules/undici/docs/docs/api/ContentType.md +0 -57
  404. package/dist/node_modules/undici/docs/docs/api/Cookies.md +0 -101
  405. package/dist/node_modules/undici/docs/docs/api/Debug.md +0 -62
  406. package/dist/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +0 -315
  407. package/dist/node_modules/undici/docs/docs/api/Dispatcher.md +0 -1392
  408. package/dist/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +0 -159
  409. package/dist/node_modules/undici/docs/docs/api/Errors.md +0 -49
  410. package/dist/node_modules/undici/docs/docs/api/EventSource.md +0 -45
  411. package/dist/node_modules/undici/docs/docs/api/Fetch.md +0 -60
  412. package/dist/node_modules/undici/docs/docs/api/GlobalInstallation.md +0 -139
  413. package/dist/node_modules/undici/docs/docs/api/H2CClient.md +0 -263
  414. package/dist/node_modules/undici/docs/docs/api/MockAgent.md +0 -603
  415. package/dist/node_modules/undici/docs/docs/api/MockCallHistory.md +0 -197
  416. package/dist/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +0 -43
  417. package/dist/node_modules/undici/docs/docs/api/MockClient.md +0 -81
  418. package/dist/node_modules/undici/docs/docs/api/MockErrors.md +0 -12
  419. package/dist/node_modules/undici/docs/docs/api/MockPool.md +0 -555
  420. package/dist/node_modules/undici/docs/docs/api/Pool.md +0 -84
  421. package/dist/node_modules/undici/docs/docs/api/PoolStats.md +0 -35
  422. package/dist/node_modules/undici/docs/docs/api/ProxyAgent.md +0 -229
  423. package/dist/node_modules/undici/docs/docs/api/RedirectHandler.md +0 -93
  424. package/dist/node_modules/undici/docs/docs/api/RetryAgent.md +0 -50
  425. package/dist/node_modules/undici/docs/docs/api/RetryHandler.md +0 -118
  426. package/dist/node_modules/undici/docs/docs/api/RoundRobinPool.md +0 -145
  427. package/dist/node_modules/undici/docs/docs/api/SnapshotAgent.md +0 -616
  428. package/dist/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +0 -274
  429. package/dist/node_modules/undici/docs/docs/api/Util.md +0 -25
  430. package/dist/node_modules/undici/docs/docs/api/WebSocket.md +0 -141
  431. package/dist/node_modules/undici/docs/docs/api/api-lifecycle.md +0 -91
  432. package/dist/node_modules/undici/docs/docs/best-practices/client-certificate.md +0 -64
  433. package/dist/node_modules/undici/docs/docs/best-practices/crawling.md +0 -58
  434. package/dist/node_modules/undici/docs/docs/best-practices/mocking-request.md +0 -190
  435. package/dist/node_modules/undici/docs/docs/best-practices/proxy.md +0 -127
  436. package/dist/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +0 -224
  437. package/dist/node_modules/undici/docs/docs/best-practices/writing-tests.md +0 -63
  438. package/dist/node_modules/undici/index-fetch.js +0 -65
  439. package/dist/node_modules/undici/index.d.ts +0 -3
  440. package/dist/node_modules/undici/index.js +0 -234
  441. package/dist/node_modules/undici/lib/api/abort-signal.js +0 -59
  442. package/dist/node_modules/undici/lib/api/api-connect.js +0 -110
  443. package/dist/node_modules/undici/lib/api/api-pipeline.js +0 -252
  444. package/dist/node_modules/undici/lib/api/api-request.js +0 -214
  445. package/dist/node_modules/undici/lib/api/api-stream.js +0 -209
  446. package/dist/node_modules/undici/lib/api/api-upgrade.js +0 -111
  447. package/dist/node_modules/undici/lib/api/index.js +0 -7
  448. package/dist/node_modules/undici/lib/api/readable.js +0 -580
  449. package/dist/node_modules/undici/lib/cache/memory-cache-store.js +0 -234
  450. package/dist/node_modules/undici/lib/cache/sqlite-cache-store.js +0 -461
  451. package/dist/node_modules/undici/lib/core/connect.js +0 -137
  452. package/dist/node_modules/undici/lib/core/constants.js +0 -143
  453. package/dist/node_modules/undici/lib/core/diagnostics.js +0 -227
  454. package/dist/node_modules/undici/lib/core/errors.js +0 -477
  455. package/dist/node_modules/undici/lib/core/request.js +0 -438
  456. package/dist/node_modules/undici/lib/core/socks5-client.js +0 -407
  457. package/dist/node_modules/undici/lib/core/socks5-utils.js +0 -203
  458. package/dist/node_modules/undici/lib/core/symbols.js +0 -75
  459. package/dist/node_modules/undici/lib/core/tree.js +0 -160
  460. package/dist/node_modules/undici/lib/core/util.js +0 -992
  461. package/dist/node_modules/undici/lib/dispatcher/agent.js +0 -158
  462. package/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +0 -219
  463. package/dist/node_modules/undici/lib/dispatcher/client-h1.js +0 -1610
  464. package/dist/node_modules/undici/lib/dispatcher/client-h2.js +0 -995
  465. package/dist/node_modules/undici/lib/dispatcher/client.js +0 -659
  466. package/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +0 -165
  467. package/dist/node_modules/undici/lib/dispatcher/dispatcher.js +0 -48
  468. package/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +0 -146
  469. package/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +0 -135
  470. package/dist/node_modules/undici/lib/dispatcher/h2c-client.js +0 -51
  471. package/dist/node_modules/undici/lib/dispatcher/pool-base.js +0 -214
  472. package/dist/node_modules/undici/lib/dispatcher/pool.js +0 -118
  473. package/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +0 -318
  474. package/dist/node_modules/undici/lib/dispatcher/retry-agent.js +0 -35
  475. package/dist/node_modules/undici/lib/dispatcher/round-robin-pool.js +0 -137
  476. package/dist/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +0 -249
  477. package/dist/node_modules/undici/lib/encoding/index.js +0 -33
  478. package/dist/node_modules/undici/lib/global.js +0 -50
  479. package/dist/node_modules/undici/lib/handler/cache-handler.js +0 -578
  480. package/dist/node_modules/undici/lib/handler/cache-revalidation-handler.js +0 -124
  481. package/dist/node_modules/undici/lib/handler/decorator-handler.js +0 -67
  482. package/dist/node_modules/undici/lib/handler/deduplication-handler.js +0 -460
  483. package/dist/node_modules/undici/lib/handler/redirect-handler.js +0 -238
  484. package/dist/node_modules/undici/lib/handler/retry-handler.js +0 -394
  485. package/dist/node_modules/undici/lib/handler/unwrap-handler.js +0 -100
  486. package/dist/node_modules/undici/lib/handler/wrap-handler.js +0 -105
  487. package/dist/node_modules/undici/lib/interceptor/cache.js +0 -495
  488. package/dist/node_modules/undici/lib/interceptor/decompress.js +0 -259
  489. package/dist/node_modules/undici/lib/interceptor/deduplicate.js +0 -117
  490. package/dist/node_modules/undici/lib/interceptor/dns.js +0 -571
  491. package/dist/node_modules/undici/lib/interceptor/dump.js +0 -112
  492. package/dist/node_modules/undici/lib/interceptor/redirect.js +0 -21
  493. package/dist/node_modules/undici/lib/interceptor/response-error.js +0 -95
  494. package/dist/node_modules/undici/lib/interceptor/retry.js +0 -19
  495. package/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  496. package/dist/node_modules/undici/lib/llhttp/constants.d.ts +0 -195
  497. package/dist/node_modules/undici/lib/llhttp/constants.js +0 -531
  498. package/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -15
  499. package/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -15
  500. package/dist/node_modules/undici/lib/llhttp/utils.d.ts +0 -2
  501. package/dist/node_modules/undici/lib/llhttp/utils.js +0 -12
  502. package/dist/node_modules/undici/lib/mock/mock-agent.js +0 -232
  503. package/dist/node_modules/undici/lib/mock/mock-call-history.js +0 -248
  504. package/dist/node_modules/undici/lib/mock/mock-client.js +0 -68
  505. package/dist/node_modules/undici/lib/mock/mock-errors.js +0 -29
  506. package/dist/node_modules/undici/lib/mock/mock-interceptor.js +0 -209
  507. package/dist/node_modules/undici/lib/mock/mock-pool.js +0 -68
  508. package/dist/node_modules/undici/lib/mock/mock-symbols.js +0 -32
  509. package/dist/node_modules/undici/lib/mock/mock-utils.js +0 -486
  510. package/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -43
  511. package/dist/node_modules/undici/lib/mock/snapshot-agent.js +0 -353
  512. package/dist/node_modules/undici/lib/mock/snapshot-recorder.js +0 -588
  513. package/dist/node_modules/undici/lib/mock/snapshot-utils.js +0 -158
  514. package/dist/node_modules/undici/lib/util/cache.js +0 -407
  515. package/dist/node_modules/undici/lib/util/date.js +0 -653
  516. package/dist/node_modules/undici/lib/util/promise.js +0 -28
  517. package/dist/node_modules/undici/lib/util/runtime-features.js +0 -124
  518. package/dist/node_modules/undici/lib/util/stats.js +0 -32
  519. package/dist/node_modules/undici/lib/util/timers.js +0 -425
  520. package/dist/node_modules/undici/lib/web/cache/cache.js +0 -864
  521. package/dist/node_modules/undici/lib/web/cache/cachestorage.js +0 -152
  522. package/dist/node_modules/undici/lib/web/cache/util.js +0 -45
  523. package/dist/node_modules/undici/lib/web/cookies/constants.js +0 -12
  524. package/dist/node_modules/undici/lib/web/cookies/index.js +0 -199
  525. package/dist/node_modules/undici/lib/web/cookies/parse.js +0 -322
  526. package/dist/node_modules/undici/lib/web/cookies/util.js +0 -282
  527. package/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +0 -399
  528. package/dist/node_modules/undici/lib/web/eventsource/eventsource.js +0 -501
  529. package/dist/node_modules/undici/lib/web/eventsource/util.js +0 -29
  530. package/dist/node_modules/undici/lib/web/fetch/body.js +0 -509
  531. package/dist/node_modules/undici/lib/web/fetch/constants.js +0 -131
  532. package/dist/node_modules/undici/lib/web/fetch/data-url.js +0 -596
  533. package/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +0 -575
  534. package/dist/node_modules/undici/lib/web/fetch/formdata.js +0 -259
  535. package/dist/node_modules/undici/lib/web/fetch/global.js +0 -40
  536. package/dist/node_modules/undici/lib/web/fetch/headers.js +0 -719
  537. package/dist/node_modules/undici/lib/web/fetch/index.js +0 -2397
  538. package/dist/node_modules/undici/lib/web/fetch/request.js +0 -1115
  539. package/dist/node_modules/undici/lib/web/fetch/response.js +0 -641
  540. package/dist/node_modules/undici/lib/web/fetch/util.js +0 -1520
  541. package/dist/node_modules/undici/lib/web/infra/index.js +0 -229
  542. package/dist/node_modules/undici/lib/web/subresource-integrity/Readme.md +0 -9
  543. package/dist/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +0 -307
  544. package/dist/node_modules/undici/lib/web/webidl/index.js +0 -1006
  545. package/dist/node_modules/undici/lib/web/websocket/connection.js +0 -329
  546. package/dist/node_modules/undici/lib/web/websocket/constants.js +0 -126
  547. package/dist/node_modules/undici/lib/web/websocket/events.js +0 -331
  548. package/dist/node_modules/undici/lib/web/websocket/frame.js +0 -133
  549. package/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -118
  550. package/dist/node_modules/undici/lib/web/websocket/receiver.js +0 -450
  551. package/dist/node_modules/undici/lib/web/websocket/sender.js +0 -109
  552. package/dist/node_modules/undici/lib/web/websocket/stream/websocketerror.js +0 -104
  553. package/dist/node_modules/undici/lib/web/websocket/stream/websocketstream.js +0 -497
  554. package/dist/node_modules/undici/lib/web/websocket/util.js +0 -347
  555. package/dist/node_modules/undici/lib/web/websocket/websocket.js +0 -751
  556. package/dist/node_modules/undici/package.json +0 -152
  557. package/dist/node_modules/undici/scripts/strip-comments.js +0 -10
  558. package/dist/node_modules/undici/types/README.md +0 -6
  559. package/dist/node_modules/undici/types/agent.d.ts +0 -32
  560. package/dist/node_modules/undici/types/api.d.ts +0 -43
  561. package/dist/node_modules/undici/types/balanced-pool.d.ts +0 -30
  562. package/dist/node_modules/undici/types/cache-interceptor.d.ts +0 -179
  563. package/dist/node_modules/undici/types/cache.d.ts +0 -36
  564. package/dist/node_modules/undici/types/client-stats.d.ts +0 -15
  565. package/dist/node_modules/undici/types/client.d.ts +0 -123
  566. package/dist/node_modules/undici/types/connector.d.ts +0 -36
  567. package/dist/node_modules/undici/types/content-type.d.ts +0 -21
  568. package/dist/node_modules/undici/types/cookies.d.ts +0 -30
  569. package/dist/node_modules/undici/types/diagnostics-channel.d.ts +0 -74
  570. package/dist/node_modules/undici/types/dispatcher.d.ts +0 -273
  571. package/dist/node_modules/undici/types/env-http-proxy-agent.d.ts +0 -22
  572. package/dist/node_modules/undici/types/errors.d.ts +0 -177
  573. package/dist/node_modules/undici/types/eventsource.d.ts +0 -66
  574. package/dist/node_modules/undici/types/fetch.d.ts +0 -231
  575. package/dist/node_modules/undici/types/formdata.d.ts +0 -114
  576. package/dist/node_modules/undici/types/global-dispatcher.d.ts +0 -9
  577. package/dist/node_modules/undici/types/global-origin.d.ts +0 -7
  578. package/dist/node_modules/undici/types/h2c-client.d.ts +0 -73
  579. package/dist/node_modules/undici/types/handlers.d.ts +0 -14
  580. package/dist/node_modules/undici/types/header.d.ts +0 -160
  581. package/dist/node_modules/undici/types/index.d.ts +0 -91
  582. package/dist/node_modules/undici/types/interceptors.d.ts +0 -80
  583. package/dist/node_modules/undici/types/mock-agent.d.ts +0 -68
  584. package/dist/node_modules/undici/types/mock-call-history.d.ts +0 -111
  585. package/dist/node_modules/undici/types/mock-client.d.ts +0 -27
  586. package/dist/node_modules/undici/types/mock-errors.d.ts +0 -12
  587. package/dist/node_modules/undici/types/mock-interceptor.d.ts +0 -94
  588. package/dist/node_modules/undici/types/mock-pool.d.ts +0 -27
  589. package/dist/node_modules/undici/types/patch.d.ts +0 -29
  590. package/dist/node_modules/undici/types/pool-stats.d.ts +0 -19
  591. package/dist/node_modules/undici/types/pool.d.ts +0 -41
  592. package/dist/node_modules/undici/types/proxy-agent.d.ts +0 -29
  593. package/dist/node_modules/undici/types/readable.d.ts +0 -68
  594. package/dist/node_modules/undici/types/retry-agent.d.ts +0 -8
  595. package/dist/node_modules/undici/types/retry-handler.d.ts +0 -125
  596. package/dist/node_modules/undici/types/round-robin-pool.d.ts +0 -41
  597. package/dist/node_modules/undici/types/snapshot-agent.d.ts +0 -109
  598. package/dist/node_modules/undici/types/socks5-proxy-agent.d.ts +0 -25
  599. package/dist/node_modules/undici/types/util.d.ts +0 -18
  600. package/dist/node_modules/undici/types/utility.d.ts +0 -7
  601. package/dist/node_modules/undici/types/webidl.d.ts +0 -347
  602. package/dist/node_modules/undici/types/websocket.d.ts +0 -188
@@ -1,238 +0,0 @@
1
- 'use strict'
2
-
3
- const util = require('../core/util')
4
- const { kBodyUsed } = require('../core/symbols')
5
- const assert = require('node:assert')
6
- const { InvalidArgumentError } = require('../core/errors')
7
- const EE = require('node:events')
8
-
9
- const redirectableStatusCodes = [300, 301, 302, 303, 307, 308]
10
-
11
- const kBody = Symbol('body')
12
-
13
- const noop = () => {}
14
-
15
- class BodyAsyncIterable {
16
- constructor (body) {
17
- this[kBody] = body
18
- this[kBodyUsed] = false
19
- }
20
-
21
- async * [Symbol.asyncIterator] () {
22
- assert(!this[kBodyUsed], 'disturbed')
23
- this[kBodyUsed] = true
24
- yield * this[kBody]
25
- }
26
- }
27
-
28
- class RedirectHandler {
29
- static buildDispatch (dispatcher, maxRedirections) {
30
- if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
31
- throw new InvalidArgumentError('maxRedirections must be a positive number')
32
- }
33
-
34
- const dispatch = dispatcher.dispatch.bind(dispatcher)
35
- return (opts, originalHandler) => dispatch(opts, new RedirectHandler(dispatch, maxRedirections, opts, originalHandler))
36
- }
37
-
38
- constructor (dispatch, maxRedirections, opts, handler) {
39
- if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
40
- throw new InvalidArgumentError('maxRedirections must be a positive number')
41
- }
42
-
43
- this.dispatch = dispatch
44
- this.location = null
45
- const { maxRedirections: _, ...cleanOpts } = opts
46
- this.opts = cleanOpts // opts must be a copy, exclude maxRedirections
47
- this.maxRedirections = maxRedirections
48
- this.handler = handler
49
- this.history = []
50
-
51
- if (util.isStream(this.opts.body)) {
52
- // TODO (fix): Provide some way for the user to cache the file to e.g. /tmp
53
- // so that it can be dispatched again?
54
- // TODO (fix): Do we need 100-expect support to provide a way to do this properly?
55
- if (util.bodyLength(this.opts.body) === 0) {
56
- this.opts.body
57
- .on('data', function () {
58
- assert(false)
59
- })
60
- }
61
-
62
- if (typeof this.opts.body.readableDidRead !== 'boolean') {
63
- this.opts.body[kBodyUsed] = false
64
- EE.prototype.on.call(this.opts.body, 'data', function () {
65
- this[kBodyUsed] = true
66
- })
67
- }
68
- } else if (this.opts.body && typeof this.opts.body.pipeTo === 'function') {
69
- // TODO (fix): We can't access ReadableStream internal state
70
- // to determine whether or not it has been disturbed. This is just
71
- // a workaround.
72
- this.opts.body = new BodyAsyncIterable(this.opts.body)
73
- } else if (
74
- this.opts.body &&
75
- typeof this.opts.body !== 'string' &&
76
- !ArrayBuffer.isView(this.opts.body) &&
77
- util.isIterable(this.opts.body) &&
78
- !util.isFormDataLike(this.opts.body)
79
- ) {
80
- // TODO: Should we allow re-using iterable if !this.opts.idempotent
81
- // or through some other flag?
82
- this.opts.body = new BodyAsyncIterable(this.opts.body)
83
- }
84
- }
85
-
86
- onRequestStart (controller, context) {
87
- this.handler.onRequestStart?.(controller, { ...context, history: this.history })
88
- }
89
-
90
- onRequestUpgrade (controller, statusCode, headers, socket) {
91
- this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket)
92
- }
93
-
94
- onResponseStart (controller, statusCode, headers, statusMessage) {
95
- if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
96
- throw new Error('max redirects')
97
- }
98
-
99
- // https://tools.ietf.org/html/rfc7231#section-6.4.2
100
- // https://fetch.spec.whatwg.org/#http-redirect-fetch
101
- // In case of HTTP 301 or 302 with POST, change the method to GET
102
- if ((statusCode === 301 || statusCode === 302) && this.opts.method === 'POST') {
103
- this.opts.method = 'GET'
104
- if (util.isStream(this.opts.body)) {
105
- util.destroy(this.opts.body.on('error', noop))
106
- }
107
- this.opts.body = null
108
- }
109
-
110
- // https://tools.ietf.org/html/rfc7231#section-6.4.4
111
- // In case of HTTP 303, always replace method to be either HEAD or GET
112
- if (statusCode === 303 && this.opts.method !== 'HEAD') {
113
- this.opts.method = 'GET'
114
- if (util.isStream(this.opts.body)) {
115
- util.destroy(this.opts.body.on('error', noop))
116
- }
117
- this.opts.body = null
118
- }
119
-
120
- this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) || redirectableStatusCodes.indexOf(statusCode) === -1
121
- ? null
122
- : headers.location
123
-
124
- if (this.opts.origin) {
125
- this.history.push(new URL(this.opts.path, this.opts.origin))
126
- }
127
-
128
- if (!this.location) {
129
- this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage)
130
- return
131
- }
132
-
133
- const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)))
134
- const path = search ? `${pathname}${search}` : pathname
135
-
136
- // Check for redirect loops by seeing if we've already visited this URL in our history
137
- // This catches the case where Client/Pool try to handle cross-origin redirects but fail
138
- // and keep redirecting to the same URL in an infinite loop
139
- const redirectUrlString = `${origin}${path}`
140
- for (const historyUrl of this.history) {
141
- if (historyUrl.toString() === redirectUrlString) {
142
- throw new InvalidArgumentError(`Redirect loop detected. Cannot redirect to ${origin}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`)
143
- }
144
- }
145
-
146
- // Remove headers referring to the original URL.
147
- // By default it is Host only, unless it's a 303 (see below), which removes also all Content-* headers.
148
- // https://tools.ietf.org/html/rfc7231#section-6.4
149
- this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin)
150
- this.opts.path = path
151
- this.opts.origin = origin
152
- this.opts.query = null
153
- }
154
-
155
- onResponseData (controller, chunk) {
156
- if (this.location) {
157
- /*
158
- https://tools.ietf.org/html/rfc7231#section-6.4
159
-
160
- TLDR: undici always ignores 3xx response bodies.
161
-
162
- Redirection is used to serve the requested resource from another URL, so it assumes that
163
- no body is generated (and thus can be ignored). Even though generating a body is not prohibited.
164
-
165
- For status 301, 302, 303, 307 and 308 (the latter from RFC 7238), the specs mention that the body usually
166
- (which means it's optional and not mandated) contain just an hyperlink to the value of
167
- the Location response header, so the body can be ignored safely.
168
-
169
- For status 300, which is "Multiple Choices", the spec mentions both generating a Location
170
- response header AND a response body with the other possible location to follow.
171
- Since the spec explicitly chooses not to specify a format for such body and leave it to
172
- servers and browsers implementors, we ignore the body as there is no specified way to eventually parse it.
173
- */
174
- } else {
175
- this.handler.onResponseData?.(controller, chunk)
176
- }
177
- }
178
-
179
- onResponseEnd (controller, trailers) {
180
- if (this.location) {
181
- /*
182
- https://tools.ietf.org/html/rfc7231#section-6.4
183
-
184
- TLDR: undici always ignores 3xx response trailers as they are not expected in case of redirections
185
- and neither are useful if present.
186
-
187
- See comment on onData method above for more detailed information.
188
- */
189
- this.dispatch(this.opts, this)
190
- } else {
191
- this.handler.onResponseEnd(controller, trailers)
192
- }
193
- }
194
-
195
- onResponseError (controller, error) {
196
- this.handler.onResponseError?.(controller, error)
197
- }
198
- }
199
-
200
- // https://tools.ietf.org/html/rfc7231#section-6.4.4
201
- function shouldRemoveHeader (header, removeContent, unknownOrigin) {
202
- if (header.length === 4) {
203
- return util.headerNameToString(header) === 'host'
204
- }
205
- if (removeContent && util.headerNameToString(header).startsWith('content-')) {
206
- return true
207
- }
208
- if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
209
- const name = util.headerNameToString(header)
210
- return name === 'authorization' || name === 'cookie' || name === 'proxy-authorization'
211
- }
212
- return false
213
- }
214
-
215
- // https://tools.ietf.org/html/rfc7231#section-6.4
216
- function cleanRequestHeaders (headers, removeContent, unknownOrigin) {
217
- const ret = []
218
- if (Array.isArray(headers)) {
219
- for (let i = 0; i < headers.length; i += 2) {
220
- if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
221
- ret.push(headers[i], headers[i + 1])
222
- }
223
- }
224
- } else if (headers && typeof headers === 'object') {
225
- const entries = util.hasSafeIterator(headers) ? headers : Object.entries(headers)
226
-
227
- for (const [key, value] of entries) {
228
- if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
229
- ret.push(key, value)
230
- }
231
- }
232
- } else {
233
- assert(headers == null, 'headers must be an object or an array')
234
- }
235
- return ret
236
- }
237
-
238
- module.exports = RedirectHandler
@@ -1,394 +0,0 @@
1
- 'use strict'
2
- const assert = require('node:assert')
3
-
4
- const { kRetryHandlerDefaultRetry } = require('../core/symbols')
5
- const { RequestRetryError } = require('../core/errors')
6
- const WrapHandler = require('./wrap-handler')
7
- const {
8
- isDisturbed,
9
- parseRangeHeader,
10
- wrapRequestBody
11
- } = require('../core/util')
12
-
13
- function calculateRetryAfterHeader (retryAfter) {
14
- const retryTime = new Date(retryAfter).getTime()
15
- return isNaN(retryTime) ? 0 : retryTime - Date.now()
16
- }
17
-
18
- class RetryHandler {
19
- constructor (opts, { dispatch, handler }) {
20
- const { retryOptions, ...dispatchOpts } = opts
21
- const {
22
- // Retry scoped
23
- retry: retryFn,
24
- maxRetries,
25
- maxTimeout,
26
- minTimeout,
27
- timeoutFactor,
28
- // Response scoped
29
- methods,
30
- errorCodes,
31
- retryAfter,
32
- statusCodes,
33
- throwOnError
34
- } = retryOptions ?? {}
35
-
36
- this.error = null
37
- this.dispatch = dispatch
38
- this.handler = WrapHandler.wrap(handler)
39
- this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) }
40
- this.retryOpts = {
41
- throwOnError: throwOnError ?? true,
42
- retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry],
43
- retryAfter: retryAfter ?? true,
44
- maxTimeout: maxTimeout ?? 30 * 1000, // 30s,
45
- minTimeout: minTimeout ?? 500, // .5s
46
- timeoutFactor: timeoutFactor ?? 2,
47
- maxRetries: maxRetries ?? 5,
48
- // What errors we should retry
49
- methods: methods ?? ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE'],
50
- // Indicates which errors to retry
51
- statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
52
- // List of errors to retry
53
- errorCodes: errorCodes ?? [
54
- 'ECONNRESET',
55
- 'ECONNREFUSED',
56
- 'ENOTFOUND',
57
- 'ENETDOWN',
58
- 'ENETUNREACH',
59
- 'EHOSTDOWN',
60
- 'EHOSTUNREACH',
61
- 'EPIPE',
62
- 'UND_ERR_SOCKET'
63
- ]
64
- }
65
-
66
- this.retryCount = 0
67
- this.retryCountCheckpoint = 0
68
- this.headersSent = false
69
- this.start = 0
70
- this.end = null
71
- this.etag = null
72
- }
73
-
74
- onResponseStartWithRetry (controller, statusCode, headers, statusMessage, err) {
75
- if (this.retryOpts.throwOnError) {
76
- // Preserve old behavior for status codes that are not eligible for retry
77
- if (this.retryOpts.statusCodes.includes(statusCode) === false) {
78
- this.headersSent = true
79
- this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage)
80
- } else {
81
- this.error = err
82
- }
83
-
84
- return
85
- }
86
-
87
- if (isDisturbed(this.opts.body)) {
88
- this.headersSent = true
89
- this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage)
90
- return
91
- }
92
-
93
- function shouldRetry (passedErr) {
94
- if (passedErr) {
95
- this.headersSent = true
96
- this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage)
97
- controller.resume()
98
- return
99
- }
100
-
101
- this.error = err
102
- controller.resume()
103
- }
104
-
105
- controller.pause()
106
- this.retryOpts.retry(
107
- err,
108
- {
109
- state: { counter: this.retryCount },
110
- opts: { retryOptions: this.retryOpts, ...this.opts }
111
- },
112
- shouldRetry.bind(this)
113
- )
114
- }
115
-
116
- onRequestStart (controller, context) {
117
- if (!this.headersSent) {
118
- this.handler.onRequestStart?.(controller, context)
119
- }
120
- }
121
-
122
- onRequestUpgrade (controller, statusCode, headers, socket) {
123
- this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket)
124
- }
125
-
126
- static [kRetryHandlerDefaultRetry] (err, { state, opts }, cb) {
127
- const { statusCode, code, headers } = err
128
- const { method, retryOptions } = opts
129
- const {
130
- maxRetries,
131
- minTimeout,
132
- maxTimeout,
133
- timeoutFactor,
134
- statusCodes,
135
- errorCodes,
136
- methods
137
- } = retryOptions
138
- const { counter } = state
139
-
140
- // Any code that is not a Undici's originated and allowed to retry
141
- if (code && code !== 'UND_ERR_REQ_RETRY' && !errorCodes.includes(code)) {
142
- cb(err)
143
- return
144
- }
145
-
146
- // If a set of method are provided and the current method is not in the list
147
- if (Array.isArray(methods) && !methods.includes(method)) {
148
- cb(err)
149
- return
150
- }
151
-
152
- // If a set of status code are provided and the current status code is not in the list
153
- if (
154
- statusCode != null &&
155
- Array.isArray(statusCodes) &&
156
- !statusCodes.includes(statusCode)
157
- ) {
158
- cb(err)
159
- return
160
- }
161
-
162
- // If we reached the max number of retries
163
- if (counter > maxRetries) {
164
- cb(err)
165
- return
166
- }
167
-
168
- let retryAfterHeader = headers?.['retry-after']
169
- if (retryAfterHeader) {
170
- retryAfterHeader = Number(retryAfterHeader)
171
- retryAfterHeader = Number.isNaN(retryAfterHeader)
172
- ? calculateRetryAfterHeader(headers['retry-after'])
173
- : retryAfterHeader * 1e3 // Retry-After is in seconds
174
- }
175
-
176
- const retryTimeout =
177
- retryAfterHeader > 0
178
- ? Math.min(retryAfterHeader, maxTimeout)
179
- : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout)
180
-
181
- setTimeout(() => cb(null), retryTimeout)
182
- }
183
-
184
- onResponseStart (controller, statusCode, headers, statusMessage) {
185
- this.error = null
186
- this.retryCount += 1
187
-
188
- if (statusCode >= 300) {
189
- const err = new RequestRetryError('Request failed', statusCode, {
190
- headers,
191
- data: {
192
- count: this.retryCount
193
- }
194
- })
195
-
196
- this.onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err)
197
- return
198
- }
199
-
200
- // Checkpoint for resume from where we left it
201
- if (this.headersSent) {
202
- // Only Partial Content 206 supposed to provide Content-Range,
203
- // any other status code that partially consumed the payload
204
- // should not be retried because it would result in downstream
205
- // wrongly concatenate multiple responses.
206
- if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
207
- throw new RequestRetryError('server does not support the range header and the payload was partially consumed', statusCode, {
208
- headers,
209
- data: { count: this.retryCount }
210
- })
211
- }
212
-
213
- const contentRange = parseRangeHeader(headers['content-range'])
214
- // If no content range
215
- if (!contentRange) {
216
- // We always throw here as we want to indicate that we entred unexpected path
217
- throw new RequestRetryError('Content-Range mismatch', statusCode, {
218
- headers,
219
- data: { count: this.retryCount }
220
- })
221
- }
222
-
223
- // Let's start with a weak etag check
224
- if (this.etag != null && this.etag !== headers.etag) {
225
- // We always throw here as we want to indicate that we entred unexpected path
226
- throw new RequestRetryError('ETag mismatch', statusCode, {
227
- headers,
228
- data: { count: this.retryCount }
229
- })
230
- }
231
-
232
- const { start, size, end = size ? size - 1 : null } = contentRange
233
-
234
- assert(this.start === start, 'content-range mismatch')
235
- assert(this.end == null || this.end === end, 'content-range mismatch')
236
-
237
- return
238
- }
239
-
240
- if (this.end == null) {
241
- if (statusCode === 206) {
242
- // First time we receive 206
243
- const range = parseRangeHeader(headers['content-range'])
244
-
245
- if (range == null) {
246
- this.headersSent = true
247
- this.handler.onResponseStart?.(
248
- controller,
249
- statusCode,
250
- headers,
251
- statusMessage
252
- )
253
- return
254
- }
255
-
256
- const { start, size, end = size ? size - 1 : null } = range
257
- assert(
258
- start != null && Number.isFinite(start),
259
- 'content-range mismatch'
260
- )
261
- assert(end != null && Number.isFinite(end), 'invalid content-length')
262
-
263
- this.start = start
264
- this.end = end
265
- }
266
-
267
- // We make our best to checkpoint the body for further range headers
268
- if (this.end == null) {
269
- const contentLength = headers['content-length']
270
- this.end = contentLength != null ? Number(contentLength) - 1 : null
271
- }
272
-
273
- assert(Number.isFinite(this.start))
274
- assert(
275
- this.end == null || Number.isFinite(this.end),
276
- 'invalid content-length'
277
- )
278
-
279
- this.resume = true
280
- this.etag = headers.etag != null ? headers.etag : null
281
-
282
- // Weak etags are not useful for comparison nor cache
283
- // for instance not safe to assume if the response is byte-per-byte
284
- // equal
285
- if (
286
- this.etag != null &&
287
- this.etag[0] === 'W' &&
288
- this.etag[1] === '/'
289
- ) {
290
- this.etag = null
291
- }
292
-
293
- this.headersSent = true
294
- this.handler.onResponseStart?.(
295
- controller,
296
- statusCode,
297
- headers,
298
- statusMessage
299
- )
300
- } else {
301
- throw new RequestRetryError('Request failed', statusCode, {
302
- headers,
303
- data: { count: this.retryCount }
304
- })
305
- }
306
- }
307
-
308
- onResponseData (controller, chunk) {
309
- if (this.error) {
310
- return
311
- }
312
-
313
- this.start += chunk.length
314
-
315
- this.handler.onResponseData?.(controller, chunk)
316
- }
317
-
318
- onResponseEnd (controller, trailers) {
319
- if (this.error && this.retryOpts.throwOnError) {
320
- throw this.error
321
- }
322
-
323
- if (!this.error) {
324
- this.retryCount = 0
325
- return this.handler.onResponseEnd?.(controller, trailers)
326
- }
327
-
328
- this.retry(controller)
329
- }
330
-
331
- retry (controller) {
332
- if (this.start !== 0) {
333
- const headers = { range: `bytes=${this.start}-${this.end ?? ''}` }
334
-
335
- // Weak etag check - weak etags will make comparison algorithms never match
336
- if (this.etag != null) {
337
- headers['if-match'] = this.etag
338
- }
339
-
340
- this.opts = {
341
- ...this.opts,
342
- headers: {
343
- ...this.opts.headers,
344
- ...headers
345
- }
346
- }
347
- }
348
-
349
- try {
350
- this.retryCountCheckpoint = this.retryCount
351
- this.dispatch(this.opts, this)
352
- } catch (err) {
353
- this.handler.onResponseError?.(controller, err)
354
- }
355
- }
356
-
357
- onResponseError (controller, err) {
358
- if (controller?.aborted || isDisturbed(this.opts.body)) {
359
- this.handler.onResponseError?.(controller, err)
360
- return
361
- }
362
-
363
- function shouldRetry (returnedErr) {
364
- if (!returnedErr) {
365
- this.retry(controller)
366
- return
367
- }
368
-
369
- this.handler?.onResponseError?.(controller, returnedErr)
370
- }
371
-
372
- // We reconcile in case of a mix between network errors
373
- // and server error response
374
- if (this.retryCount - this.retryCountCheckpoint > 0) {
375
- // We count the difference between the last checkpoint and the current retry count
376
- this.retryCount =
377
- this.retryCountCheckpoint +
378
- (this.retryCount - this.retryCountCheckpoint)
379
- } else {
380
- this.retryCount += 1
381
- }
382
-
383
- this.retryOpts.retry(
384
- err,
385
- {
386
- state: { counter: this.retryCount },
387
- opts: { retryOptions: this.retryOpts, ...this.opts }
388
- },
389
- shouldRetry.bind(this)
390
- )
391
- }
392
- }
393
-
394
- module.exports = RetryHandler