ory-client 1.22.87 → 1.22.88

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 (1037) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/README.md +5 -5
  4. data/docs/CreateEventStreamBody.md +2 -0
  5. data/docs/CreateProjectNormalizedPayload.md +18 -0
  6. data/docs/EventStream.md +2 -0
  7. data/docs/LoginFlowTestDebugPayload.md +2 -0
  8. data/docs/NormalizedProjectRevision.md +18 -0
  9. data/docs/OnboardingPortalOrganization.md +2 -0
  10. data/docs/QuotaUsage.md +1 -1
  11. data/docs/SetEventStreamBody.md +2 -0
  12. data/docs/UpdateLoginFlowWithLookupSecretMethod.md +3 -1
  13. data/docs/UpdateLoginFlowWithPasskeyMethod.md +3 -1
  14. data/lib/ory-client/api/api_keys_api.rb +1 -1
  15. data/lib/ory-client/api/courier_api.rb +1 -1
  16. data/lib/ory-client/api/elements_api.rb +1 -1
  17. data/lib/ory-client/api/events_api.rb +1 -1
  18. data/lib/ory-client/api/frontend_api.rb +1 -1
  19. data/lib/ory-client/api/identity_api.rb +1 -1
  20. data/lib/ory-client/api/jwk_api.rb +1 -1
  21. data/lib/ory-client/api/metadata_api.rb +1 -1
  22. data/lib/ory-client/api/o_auth2_api.rb +1 -1
  23. data/lib/ory-client/api/oidc_api.rb +1 -1
  24. data/lib/ory-client/api/permission_api.rb +1 -1
  25. data/lib/ory-client/api/project_api.rb +1 -1
  26. data/lib/ory-client/api/relationship_api.rb +1 -1
  27. data/lib/ory-client/api/wellknown_api.rb +1 -1
  28. data/lib/ory-client/api/workspace_api.rb +1 -1
  29. data/lib/ory-client/api_client.rb +2 -2
  30. data/lib/ory-client/api_error.rb +1 -1
  31. data/lib/ory-client/api_model_base.rb +1 -1
  32. data/lib/ory-client/configuration.rb +1 -1
  33. data/lib/ory-client/models/accept_device_user_code_request.rb +1 -1
  34. data/lib/ory-client/models/accept_o_auth2_consent_request.rb +1 -1
  35. data/lib/ory-client/models/accept_o_auth2_consent_request_session.rb +1 -1
  36. data/lib/ory-client/models/accept_o_auth2_login_request.rb +1 -1
  37. data/lib/ory-client/models/account_experience_colors.rb +1 -1
  38. data/lib/ory-client/models/account_experience_configuration.rb +1 -1
  39. data/lib/ory-client/models/add_project_to_workspace_body.rb +1 -1
  40. data/lib/ory-client/models/add_workspace_organization_domain_body.rb +1 -1
  41. data/lib/ory-client/models/admin_identity_import_credentials_lookup_secret.rb +1 -1
  42. data/lib/ory-client/models/admin_identity_import_credentials_lookup_secret_config.rb +1 -1
  43. data/lib/ory-client/models/admin_revoke_imported_api_key_body.rb +1 -1
  44. data/lib/ory-client/models/admin_revoke_issued_api_key_body.rb +1 -1
  45. data/lib/ory-client/models/admin_rotate_issued_api_key_body.rb +1 -1
  46. data/lib/ory-client/models/admin_update_imported_api_key_request.rb +1 -1
  47. data/lib/ory-client/models/admin_update_issued_api_key_request.rb +1 -1
  48. data/lib/ory-client/models/ai_assistant_session_token.rb +1 -1
  49. data/lib/ory-client/models/any.rb +1 -1
  50. data/lib/ory-client/models/attribute.rb +1 -1
  51. data/lib/ory-client/models/attribute_filter.rb +1 -1
  52. data/lib/ory-client/models/attributes_count_datapoint.rb +1 -1
  53. data/lib/ory-client/models/authenticator_assurance_level.rb +1 -1
  54. data/lib/ory-client/models/basic_organization.rb +1 -1
  55. data/lib/ory-client/models/batch_check_permission_body.rb +1 -1
  56. data/lib/ory-client/models/batch_check_permission_result.rb +1 -1
  57. data/lib/ory-client/models/batch_create_imported_api_keys_error_code.rb +1 -1
  58. data/lib/ory-client/models/batch_create_imported_api_keys_request.rb +1 -1
  59. data/lib/ory-client/models/batch_create_imported_api_keys_response.rb +1 -1
  60. data/lib/ory-client/models/batch_create_imported_api_keys_result.rb +1 -1
  61. data/lib/ory-client/models/batch_patch_identities_response.rb +1 -1
  62. data/lib/ory-client/models/batch_verify_api_keys_request.rb +1 -1
  63. data/lib/ory-client/models/batch_verify_api_keys_response.rb +1 -1
  64. data/lib/ory-client/models/billing_period_bucket.rb +1 -1
  65. data/lib/ory-client/models/check_opl_syntax_result.rb +1 -1
  66. data/lib/ory-client/models/check_permission_result.rb +1 -1
  67. data/lib/ory-client/models/check_permission_result_with_error.rb +1 -1
  68. data/lib/ory-client/models/cloud_account.rb +1 -1
  69. data/lib/ory-client/models/continue_with.rb +1 -1
  70. data/lib/ory-client/models/continue_with_device_authn_pin_entry_ui.rb +1 -1
  71. data/lib/ory-client/models/continue_with_device_authn_pin_entry_ui_data.rb +1 -1
  72. data/lib/ory-client/models/continue_with_recovery_ui.rb +1 -1
  73. data/lib/ory-client/models/continue_with_recovery_ui_flow.rb +1 -1
  74. data/lib/ory-client/models/continue_with_redirect_browser_to.rb +1 -1
  75. data/lib/ory-client/models/continue_with_set_ory_session_token.rb +1 -1
  76. data/lib/ory-client/models/continue_with_settings_ui.rb +1 -1
  77. data/lib/ory-client/models/continue_with_settings_ui_flow.rb +1 -1
  78. data/lib/ory-client/models/continue_with_verification_ui.rb +1 -1
  79. data/lib/ory-client/models/continue_with_verification_ui_flow.rb +1 -1
  80. data/lib/ory-client/models/courier_message_status.rb +1 -1
  81. data/lib/ory-client/models/courier_message_type.rb +1 -1
  82. data/lib/ory-client/models/create_custom_domain_body.rb +1 -1
  83. data/lib/ory-client/models/create_event_stream_body.rb +14 -2
  84. data/lib/ory-client/models/create_fedcm_flow_response.rb +1 -1
  85. data/lib/ory-client/models/create_identity_body.rb +1 -1
  86. data/lib/ory-client/models/create_invite_response.rb +1 -1
  87. data/lib/ory-client/models/create_json_web_key_set.rb +1 -1
  88. data/lib/ory-client/models/create_onboarding_link_response.rb +1 -1
  89. data/lib/ory-client/models/create_organization_onboarding_portal_link_body.rb +1 -1
  90. data/lib/ory-client/models/create_project_api_key_body.rb +1 -1
  91. data/lib/ory-client/models/create_project_body.rb +1 -1
  92. data/lib/ory-client/models/create_project_branding.rb +1 -1
  93. data/lib/ory-client/models/create_project_member_invite_body.rb +1 -1
  94. data/lib/ory-client/models/create_project_normalized_payload.rb +92 -2
  95. data/lib/ory-client/models/create_recovery_code_for_identity_body.rb +1 -1
  96. data/lib/ory-client/models/create_recovery_link_for_identity_body.rb +1 -1
  97. data/lib/ory-client/models/create_relationship_body.rb +1 -1
  98. data/lib/ory-client/models/create_subscription_body.rb +1 -1
  99. data/lib/ory-client/models/create_subscription_common.rb +1 -1
  100. data/lib/ory-client/models/create_test_login_flow_body.rb +1 -1
  101. data/lib/ory-client/models/create_test_login_flow_from_onboarding_portal_link_body.rb +1 -1
  102. data/lib/ory-client/models/create_verifiable_credential_request_body.rb +1 -1
  103. data/lib/ory-client/models/create_workspace_api_key_body.rb +1 -1
  104. data/lib/ory-client/models/create_workspace_body.rb +1 -1
  105. data/lib/ory-client/models/create_workspace_contact_body.rb +1 -1
  106. data/lib/ory-client/models/create_workspace_member_invite_body.rb +1 -1
  107. data/lib/ory-client/models/create_workspace_organization_body.rb +1 -1
  108. data/lib/ory-client/models/create_workspace_subscription_body.rb +1 -1
  109. data/lib/ory-client/models/credential_supported_draft00.rb +1 -1
  110. data/lib/ory-client/models/custom_domain.rb +1 -1
  111. data/lib/ory-client/models/customer_portal_availability.rb +1 -1
  112. data/lib/ory-client/models/delete_my_sessions_count.rb +1 -1
  113. data/lib/ory-client/models/derive_token_request.rb +1 -1
  114. data/lib/ory-client/models/derive_token_response.rb +1 -1
  115. data/lib/ory-client/models/device_authn_android_authorization_list.rb +1 -1
  116. data/lib/ory-client/models/device_authn_android_key_description.rb +1 -1
  117. data/lib/ory-client/models/device_authn_android_root_of_trust.rb +1 -1
  118. data/lib/ory-client/models/device_authn_attestation.rb +1 -1
  119. data/lib/ory-client/models/device_authn_ios_att_stmt.rb +1 -1
  120. data/lib/ory-client/models/device_authn_ios_attestation.rb +1 -1
  121. data/lib/ory-client/models/device_authn_key.rb +1 -1
  122. data/lib/ory-client/models/device_authorization.rb +1 -1
  123. data/lib/ory-client/models/device_type.rb +1 -1
  124. data/lib/ory-client/models/device_user_auth_request.rb +1 -1
  125. data/lib/ory-client/models/domain_verification_status.rb +1 -1
  126. data/lib/ory-client/models/elements_configuration.rb +1 -1
  127. data/lib/ory-client/models/email_template_data.rb +1 -1
  128. data/lib/ory-client/models/email_template_data_body.rb +1 -1
  129. data/lib/ory-client/models/error_authenticator_assurance_level_not_satisfied.rb +1 -1
  130. data/lib/ory-client/models/error_browser_location_change_required.rb +1 -1
  131. data/lib/ory-client/models/error_flow_replaced.rb +1 -1
  132. data/lib/ory-client/models/error_generic.rb +1 -1
  133. data/lib/ory-client/models/error_o_auth2.rb +1 -1
  134. data/lib/ory-client/models/event_stream.rb +14 -2
  135. data/lib/ory-client/models/expanded_permission_tree.rb +1 -1
  136. data/lib/ory-client/models/feature_flags_catalog_entry.rb +1 -1
  137. data/lib/ory-client/models/flow_error.rb +1 -1
  138. data/lib/ory-client/models/generic_error.rb +1 -1
  139. data/lib/ory-client/models/generic_error_content.rb +1 -1
  140. data/lib/ory-client/models/generic_oidc_provider.rb +1 -1
  141. data/lib/ory-client/models/generic_usage.rb +1 -1
  142. data/lib/ory-client/models/get_attributes_count.rb +1 -1
  143. data/lib/ory-client/models/get_jwks_response.rb +1 -1
  144. data/lib/ory-client/models/get_jwks_response_jwks.rb +1 -1
  145. data/lib/ory-client/models/get_jwks_response_jwks_keys_inner.rb +1 -1
  146. data/lib/ory-client/models/get_managed_identity_schema_location.rb +1 -1
  147. data/lib/ory-client/models/get_metrics_count.rb +1 -1
  148. data/lib/ory-client/models/get_metrics_event_attributes.rb +1 -1
  149. data/lib/ory-client/models/get_metrics_event_types.rb +1 -1
  150. data/lib/ory-client/models/get_organization_response.rb +1 -1
  151. data/lib/ory-client/models/get_organizations_by_hostname_response.rb +1 -1
  152. data/lib/ory-client/models/get_project_events.rb +1 -1
  153. data/lib/ory-client/models/get_project_events_body.rb +1 -1
  154. data/lib/ory-client/models/get_project_metrics.rb +1 -1
  155. data/lib/ory-client/models/get_session_activity.rb +1 -1
  156. data/lib/ory-client/models/get_version200_response.rb +1 -1
  157. data/lib/ory-client/models/health_not_ready_status.rb +1 -1
  158. data/lib/ory-client/models/health_status.rb +1 -1
  159. data/lib/ory-client/models/identity.rb +1 -1
  160. data/lib/ory-client/models/identity_credentials.rb +1 -1
  161. data/lib/ory-client/models/identity_credentials_code.rb +1 -1
  162. data/lib/ory-client/models/identity_credentials_code_address.rb +1 -1
  163. data/lib/ory-client/models/identity_credentials_lookup_secret_code.rb +1 -1
  164. data/lib/ory-client/models/identity_credentials_oidc.rb +1 -1
  165. data/lib/ory-client/models/identity_credentials_oidc_provider.rb +1 -1
  166. data/lib/ory-client/models/identity_credentials_password.rb +1 -1
  167. data/lib/ory-client/models/identity_credentials_web_authn.rb +1 -1
  168. data/lib/ory-client/models/identity_credentials_web_authn_attestation.rb +1 -1
  169. data/lib/ory-client/models/identity_credentials_web_authn_authenticator.rb +1 -1
  170. data/lib/ory-client/models/identity_credentials_web_authn_flags.rb +1 -1
  171. data/lib/ory-client/models/identity_patch.rb +1 -1
  172. data/lib/ory-client/models/identity_patch_response.rb +1 -1
  173. data/lib/ory-client/models/identity_schema_container.rb +1 -1
  174. data/lib/ory-client/models/identity_schema_preset.rb +1 -1
  175. data/lib/ory-client/models/identity_with_credentials.rb +1 -1
  176. data/lib/ory-client/models/identity_with_credentials_oidc.rb +1 -1
  177. data/lib/ory-client/models/identity_with_credentials_oidc_config.rb +1 -1
  178. data/lib/ory-client/models/identity_with_credentials_oidc_config_provider.rb +1 -1
  179. data/lib/ory-client/models/identity_with_credentials_passkey.rb +1 -1
  180. data/lib/ory-client/models/identity_with_credentials_passkey_config.rb +1 -1
  181. data/lib/ory-client/models/identity_with_credentials_password.rb +1 -1
  182. data/lib/ory-client/models/identity_with_credentials_password_config.rb +1 -1
  183. data/lib/ory-client/models/identity_with_credentials_saml.rb +1 -1
  184. data/lib/ory-client/models/identity_with_credentials_saml_config.rb +1 -1
  185. data/lib/ory-client/models/identity_with_credentials_saml_config_provider.rb +1 -1
  186. data/lib/ory-client/models/identity_with_credentials_totp.rb +1 -1
  187. data/lib/ory-client/models/identity_with_credentials_totp_config.rb +1 -1
  188. data/lib/ory-client/models/identity_with_credentials_web_authn.rb +1 -1
  189. data/lib/ory-client/models/identity_with_credentials_web_authn_config.rb +1 -1
  190. data/lib/ory-client/models/import_api_key_request.rb +1 -1
  191. data/lib/ory-client/models/imported_api_key.rb +1 -1
  192. data/lib/ory-client/models/internal_get_project_branding_body.rb +1 -1
  193. data/lib/ory-client/models/internal_is_ax_welcome_screen_enabled_for_project_body.rb +1 -1
  194. data/lib/ory-client/models/internal_is_owner_for_project_by_slug.rb +1 -1
  195. data/lib/ory-client/models/internal_is_owner_for_project_by_slug_body.rb +1 -1
  196. data/lib/ory-client/models/introspected_o_auth2_token.rb +1 -1
  197. data/lib/ory-client/models/invite_token_body.rb +1 -1
  198. data/lib/ory-client/models/invoice.rb +1 -1
  199. data/lib/ory-client/models/invoice_data_v1.rb +1 -1
  200. data/lib/ory-client/models/ip_restriction.rb +1 -1
  201. data/lib/ory-client/models/is_owner_for_project_by_slug.rb +1 -1
  202. data/lib/ory-client/models/issue_api_key_request.rb +1 -1
  203. data/lib/ory-client/models/issue_api_key_response.rb +1 -1
  204. data/lib/ory-client/models/issued_api_key.rb +1 -1
  205. data/lib/ory-client/models/json_patch.rb +1 -1
  206. data/lib/ory-client/models/json_web_key.rb +1 -1
  207. data/lib/ory-client/models/json_web_key_set.rb +1 -1
  208. data/lib/ory-client/models/keto_namespace.rb +1 -1
  209. data/lib/ory-client/models/key_state.rb +1 -1
  210. data/lib/ory-client/models/key_status.rb +1 -1
  211. data/lib/ory-client/models/key_visibility.rb +1 -1
  212. data/lib/ory-client/models/keyset_pagination_request_parameters.rb +1 -1
  213. data/lib/ory-client/models/keyset_pagination_response_headers.rb +1 -1
  214. data/lib/ory-client/models/line_item_v1.rb +1 -1
  215. data/lib/ory-client/models/list_event_streams.rb +1 -1
  216. data/lib/ory-client/models/list_imported_api_keys_response.rb +1 -1
  217. data/lib/ory-client/models/list_invoices_response.rb +1 -1
  218. data/lib/ory-client/models/list_issued_api_keys_response.rb +1 -1
  219. data/lib/ory-client/models/list_organizations_response.rb +1 -1
  220. data/lib/ory-client/models/list_workspace_contacts.rb +1 -1
  221. data/lib/ory-client/models/list_workspace_projects.rb +1 -1
  222. data/lib/ory-client/models/list_workspaces.rb +1 -1
  223. data/lib/ory-client/models/login_flow.rb +1 -1
  224. data/lib/ory-client/models/login_flow_state.rb +1 -1
  225. data/lib/ory-client/models/login_flow_test_context.rb +1 -1
  226. data/lib/ory-client/models/login_flow_test_debug_payload.rb +14 -2
  227. data/lib/ory-client/models/login_flow_test_schema_validation_error.rb +1 -1
  228. data/lib/ory-client/models/login_flow_test_step_error.rb +1 -1
  229. data/lib/ory-client/models/logout_flow.rb +1 -1
  230. data/lib/ory-client/models/manage_sessions_body.rb +1 -1
  231. data/lib/ory-client/models/manage_sessions_response.rb +1 -1
  232. data/lib/ory-client/models/managed_identity_schema.rb +1 -1
  233. data/lib/ory-client/models/managed_identity_schema_validation_result.rb +1 -1
  234. data/lib/ory-client/models/member_invite.rb +1 -1
  235. data/lib/ory-client/models/message.rb +1 -1
  236. data/lib/ory-client/models/message_dispatch.rb +1 -1
  237. data/lib/ory-client/models/metrics_datapoint.rb +1 -1
  238. data/lib/ory-client/models/namespace.rb +1 -1
  239. data/lib/ory-client/models/needs_privileged_session_error.rb +1 -1
  240. data/lib/ory-client/models/normalized_project.rb +1 -1
  241. data/lib/ory-client/models/normalized_project_revision.rb +92 -2
  242. data/lib/ory-client/models/normalized_project_revision_courier_channel.rb +1 -1
  243. data/lib/ory-client/models/normalized_project_revision_hook.rb +1 -1
  244. data/lib/ory-client/models/normalized_project_revision_identity_schema.rb +1 -1
  245. data/lib/ory-client/models/normalized_project_revision_saml_provider.rb +1 -1
  246. data/lib/ory-client/models/normalized_project_revision_scim_client.rb +1 -1
  247. data/lib/ory-client/models/normalized_project_revision_third_party_provider.rb +1 -1
  248. data/lib/ory-client/models/normalized_project_revision_tokenizer_template.rb +1 -1
  249. data/lib/ory-client/models/null_value.rb +1 -1
  250. data/lib/ory-client/models/o_auth2_client.rb +1 -1
  251. data/lib/ory-client/models/o_auth2_client_token_lifespans.rb +1 -1
  252. data/lib/ory-client/models/o_auth2_consent_request.rb +1 -1
  253. data/lib/ory-client/models/o_auth2_consent_request_open_id_connect_context.rb +1 -1
  254. data/lib/ory-client/models/o_auth2_consent_session.rb +1 -1
  255. data/lib/ory-client/models/o_auth2_login_request.rb +1 -1
  256. data/lib/ory-client/models/o_auth2_logout_request.rb +1 -1
  257. data/lib/ory-client/models/o_auth2_redirect_to.rb +1 -1
  258. data/lib/ory-client/models/o_auth2_token_exchange.rb +1 -1
  259. data/lib/ory-client/models/oidc_configuration.rb +1 -1
  260. data/lib/ory-client/models/oidc_user_info.rb +1 -1
  261. data/lib/ory-client/models/onboarding_portal_link.rb +1 -1
  262. data/lib/ory-client/models/onboarding_portal_organization.rb +31 -2
  263. data/lib/ory-client/models/onboarding_portal_test_login_flow.rb +1 -1
  264. data/lib/ory-client/models/opl_parse_error.rb +1 -1
  265. data/lib/ory-client/models/opl_source_position.rb +1 -1
  266. data/lib/ory-client/models/opl_validate_result.rb +1 -1
  267. data/lib/ory-client/models/organization.rb +1 -1
  268. data/lib/ory-client/models/organization_body.rb +1 -1
  269. data/lib/ory-client/models/organization_by_hostname.rb +1 -1
  270. data/lib/ory-client/models/organization_onboarding_portal_links_response.rb +1 -1
  271. data/lib/ory-client/models/parse_error.rb +1 -1
  272. data/lib/ory-client/models/patch_identities_body.rb +1 -1
  273. data/lib/ory-client/models/patch_workspace_contact_body.rb +1 -1
  274. data/lib/ory-client/models/patch_workspace_member_body.rb +1 -1
  275. data/lib/ory-client/models/perform_native_logout_body.rb +1 -1
  276. data/lib/ory-client/models/permissions_on_workspace.rb +1 -1
  277. data/lib/ory-client/models/pin_config.rb +1 -1
  278. data/lib/ory-client/models/plan_details.rb +1 -1
  279. data/lib/ory-client/models/post_check_permission_body.rb +1 -1
  280. data/lib/ory-client/models/post_check_permission_or_error_body.rb +1 -1
  281. data/lib/ory-client/models/project.rb +1 -1
  282. data/lib/ory-client/models/project_api_key.rb +1 -1
  283. data/lib/ory-client/models/project_branding.rb +1 -1
  284. data/lib/ory-client/models/project_branding_colors.rb +1 -1
  285. data/lib/ory-client/models/project_branding_theme.rb +1 -1
  286. data/lib/ory-client/models/project_cors.rb +1 -1
  287. data/lib/ory-client/models/project_events_datapoint.rb +1 -1
  288. data/lib/ory-client/models/project_host.rb +1 -1
  289. data/lib/ory-client/models/project_member.rb +1 -1
  290. data/lib/ory-client/models/project_metadata.rb +1 -1
  291. data/lib/ory-client/models/project_service_account_experience.rb +1 -1
  292. data/lib/ory-client/models/project_service_identity.rb +1 -1
  293. data/lib/ory-client/models/project_service_o_auth2.rb +1 -1
  294. data/lib/ory-client/models/project_service_permission.rb +1 -1
  295. data/lib/ory-client/models/project_service_talos.rb +1 -1
  296. data/lib/ory-client/models/project_services.rb +1 -1
  297. data/lib/ory-client/models/provider.rb +1 -1
  298. data/lib/ory-client/models/public_member_invite.rb +1 -1
  299. data/lib/ory-client/models/quota_usage.rb +4 -4
  300. data/lib/ory-client/models/rate_limit_policy.rb +1 -1
  301. data/lib/ory-client/models/recovery_code_for_identity.rb +1 -1
  302. data/lib/ory-client/models/recovery_flow.rb +1 -1
  303. data/lib/ory-client/models/recovery_flow_state.rb +1 -1
  304. data/lib/ory-client/models/recovery_identity_address.rb +1 -1
  305. data/lib/ory-client/models/recovery_link_for_identity.rb +1 -1
  306. data/lib/ory-client/models/registration_flow.rb +1 -1
  307. data/lib/ory-client/models/registration_flow_state.rb +1 -1
  308. data/lib/ory-client/models/reject_o_auth2_request.rb +1 -1
  309. data/lib/ory-client/models/relation_query.rb +1 -1
  310. data/lib/ory-client/models/relationship.rb +1 -1
  311. data/lib/ory-client/models/relationship_namespaces.rb +1 -1
  312. data/lib/ory-client/models/relationship_patch.rb +1 -1
  313. data/lib/ory-client/models/relationships.rb +1 -1
  314. data/lib/ory-client/models/revision_account_experience_custom_translation.rb +1 -1
  315. data/lib/ory-client/models/revocation_reason.rb +1 -1
  316. data/lib/ory-client/models/rfc6749_error_json.rb +1 -1
  317. data/lib/ory-client/models/rotate_issued_api_key_response.rb +1 -1
  318. data/lib/ory-client/models/rotate_o_auth2_client_secret_body.rb +1 -1
  319. data/lib/ory-client/models/rotate_talos_key_body.rb +1 -1
  320. data/lib/ory-client/models/schema_patch.rb +1 -1
  321. data/lib/ory-client/models/self_revoke_api_key_request.rb +1 -1
  322. data/lib/ory-client/models/self_service_flow_expired_error.rb +1 -1
  323. data/lib/ory-client/models/session.rb +1 -1
  324. data/lib/ory-client/models/session_activity_datapoint.rb +1 -1
  325. data/lib/ory-client/models/session_authentication_method.rb +1 -1
  326. data/lib/ory-client/models/session_device.rb +1 -1
  327. data/lib/ory-client/models/set_custom_domain_body.rb +1 -1
  328. data/lib/ory-client/models/set_event_stream_body.rb +14 -2
  329. data/lib/ory-client/models/set_organization_from_onboarding_portal_link_body.rb +1 -1
  330. data/lib/ory-client/models/set_project.rb +1 -1
  331. data/lib/ory-client/models/set_project_branding_theme_body.rb +1 -1
  332. data/lib/ory-client/models/settings_flow.rb +1 -1
  333. data/lib/ory-client/models/settings_flow_state.rb +1 -1
  334. data/lib/ory-client/models/source_position.rb +1 -1
  335. data/lib/ory-client/models/status.rb +1 -1
  336. data/lib/ory-client/models/subject_set.rb +1 -1
  337. data/lib/ory-client/models/subscription.rb +1 -1
  338. data/lib/ory-client/models/successful_code_exchange_response.rb +1 -1
  339. data/lib/ory-client/models/successful_native_login.rb +1 -1
  340. data/lib/ory-client/models/successful_native_registration.rb +1 -1
  341. data/lib/ory-client/models/successful_project_update.rb +1 -1
  342. data/lib/ory-client/models/talos_retired_value.rb +1 -1
  343. data/lib/ory-client/models/tax_line_item.rb +1 -1
  344. data/lib/ory-client/models/time_interval.rb +1 -1
  345. data/lib/ory-client/models/token.rb +1 -1
  346. data/lib/ory-client/models/token_algorithm.rb +1 -1
  347. data/lib/ory-client/models/token_pagination.rb +1 -1
  348. data/lib/ory-client/models/token_pagination_headers.rb +1 -1
  349. data/lib/ory-client/models/token_pagination_request_parameters.rb +1 -1
  350. data/lib/ory-client/models/token_pagination_response_headers.rb +1 -1
  351. data/lib/ory-client/models/trust_o_auth2_jwt_grant_issuer.rb +1 -1
  352. data/lib/ory-client/models/trusted_o_auth2_jwt_grant_issuer.rb +1 -1
  353. data/lib/ory-client/models/trusted_o_auth2_jwt_grant_json_web_key.rb +1 -1
  354. data/lib/ory-client/models/ui_container.rb +1 -1
  355. data/lib/ory-client/models/ui_node.rb +1 -1
  356. data/lib/ory-client/models/ui_node_anchor_attributes.rb +1 -1
  357. data/lib/ory-client/models/ui_node_attributes.rb +1 -1
  358. data/lib/ory-client/models/ui_node_division_attributes.rb +1 -1
  359. data/lib/ory-client/models/ui_node_image_attributes.rb +1 -1
  360. data/lib/ory-client/models/ui_node_input_attributes.rb +1 -1
  361. data/lib/ory-client/models/ui_node_input_attributes_option.rb +1 -1
  362. data/lib/ory-client/models/ui_node_meta.rb +1 -1
  363. data/lib/ory-client/models/ui_node_script_attributes.rb +1 -1
  364. data/lib/ory-client/models/ui_node_text_attributes.rb +1 -1
  365. data/lib/ory-client/models/ui_text.rb +1 -1
  366. data/lib/ory-client/models/update_fedcm_flow_body.rb +1 -1
  367. data/lib/ory-client/models/update_identity_body.rb +1 -1
  368. data/lib/ory-client/models/update_login_flow_body.rb +1 -1
  369. data/lib/ory-client/models/update_login_flow_with_code_method.rb +1 -1
  370. data/lib/ory-client/models/update_login_flow_with_device_authn_method.rb +1 -1
  371. data/lib/ory-client/models/update_login_flow_with_identifier_first_method.rb +1 -1
  372. data/lib/ory-client/models/update_login_flow_with_lookup_secret_method.rb +15 -5
  373. data/lib/ory-client/models/update_login_flow_with_oidc_method.rb +1 -1
  374. data/lib/ory-client/models/update_login_flow_with_passkey_method.rb +15 -5
  375. data/lib/ory-client/models/update_login_flow_with_password_method.rb +1 -1
  376. data/lib/ory-client/models/update_login_flow_with_saml_method.rb +1 -1
  377. data/lib/ory-client/models/update_login_flow_with_totp_method.rb +1 -1
  378. data/lib/ory-client/models/update_login_flow_with_web_authn_method.rb +1 -1
  379. data/lib/ory-client/models/update_organization_onboarding_portal_link_body.rb +1 -1
  380. data/lib/ory-client/models/update_recovery_flow_body.rb +1 -1
  381. data/lib/ory-client/models/update_recovery_flow_with_code_method.rb +1 -1
  382. data/lib/ory-client/models/update_recovery_flow_with_link_method.rb +1 -1
  383. data/lib/ory-client/models/update_registration_flow_body.rb +1 -1
  384. data/lib/ory-client/models/update_registration_flow_with_code_method.rb +1 -1
  385. data/lib/ory-client/models/update_registration_flow_with_oidc_method.rb +1 -1
  386. data/lib/ory-client/models/update_registration_flow_with_passkey_method.rb +1 -1
  387. data/lib/ory-client/models/update_registration_flow_with_password_method.rb +1 -1
  388. data/lib/ory-client/models/update_registration_flow_with_profile_method.rb +1 -1
  389. data/lib/ory-client/models/update_registration_flow_with_saml_method.rb +1 -1
  390. data/lib/ory-client/models/update_registration_flow_with_web_authn_method.rb +1 -1
  391. data/lib/ory-client/models/update_settings_flow_body.rb +1 -1
  392. data/lib/ory-client/models/update_settings_flow_with_device_authn_method.rb +1 -1
  393. data/lib/ory-client/models/update_settings_flow_with_device_authn_method_register.rb +1 -1
  394. data/lib/ory-client/models/update_settings_flow_with_device_authn_method_rotate_secret.rb +1 -1
  395. data/lib/ory-client/models/update_settings_flow_with_lookup_method.rb +1 -1
  396. data/lib/ory-client/models/update_settings_flow_with_oidc_method.rb +1 -1
  397. data/lib/ory-client/models/update_settings_flow_with_passkey_method.rb +1 -1
  398. data/lib/ory-client/models/update_settings_flow_with_password_method.rb +1 -1
  399. data/lib/ory-client/models/update_settings_flow_with_profile_method.rb +1 -1
  400. data/lib/ory-client/models/update_settings_flow_with_saml_method.rb +1 -1
  401. data/lib/ory-client/models/update_settings_flow_with_totp_method.rb +1 -1
  402. data/lib/ory-client/models/update_settings_flow_with_web_authn_method.rb +1 -1
  403. data/lib/ory-client/models/update_subscription_body.rb +1 -1
  404. data/lib/ory-client/models/update_verification_flow_body.rb +1 -1
  405. data/lib/ory-client/models/update_verification_flow_with_code_method.rb +1 -1
  406. data/lib/ory-client/models/update_verification_flow_with_link_method.rb +1 -1
  407. data/lib/ory-client/models/update_workspace_body.rb +1 -1
  408. data/lib/ory-client/models/update_workspace_organization_body.rb +1 -1
  409. data/lib/ory-client/models/usage.rb +1 -1
  410. data/lib/ory-client/models/user_verification.rb +1 -1
  411. data/lib/ory-client/models/validate_base_url_rewrite_request.rb +1 -1
  412. data/lib/ory-client/models/validate_base_url_rewrite_response.rb +1 -1
  413. data/lib/ory-client/models/verifiable_credential_priming_response.rb +1 -1
  414. data/lib/ory-client/models/verifiable_credential_proof.rb +1 -1
  415. data/lib/ory-client/models/verifiable_credential_response.rb +1 -1
  416. data/lib/ory-client/models/verifiable_identity_address.rb +1 -1
  417. data/lib/ory-client/models/verification_error_code.rb +1 -1
  418. data/lib/ory-client/models/verification_flow.rb +1 -1
  419. data/lib/ory-client/models/verification_flow_state.rb +1 -1
  420. data/lib/ory-client/models/verify_api_key_request.rb +1 -1
  421. data/lib/ory-client/models/verify_api_key_response.rb +1 -1
  422. data/lib/ory-client/models/verify_user_code_request.rb +1 -1
  423. data/lib/ory-client/models/version.rb +1 -1
  424. data/lib/ory-client/models/warning.rb +1 -1
  425. data/lib/ory-client/models/web_authn_related_origins.rb +1 -1
  426. data/lib/ory-client/models/workspace.rb +1 -1
  427. data/lib/ory-client/models/workspace_api_key.rb +1 -1
  428. data/lib/ory-client/models/workspace_contact.rb +1 -1
  429. data/lib/ory-client/models/workspace_contact_recipient.rb +1 -1
  430. data/lib/ory-client/models/workspace_contact_recipient_input.rb +1 -1
  431. data/lib/ory-client/models/workspace_organization.rb +1 -1
  432. data/lib/ory-client/version.rb +2 -2
  433. data/lib/ory-client.rb +1 -1
  434. data/ory-client.gemspec +1 -1
  435. data/spec/api/api_keys_api_spec.rb +1 -1
  436. data/spec/api/courier_api_spec.rb +1 -1
  437. data/spec/api/elements_api_spec.rb +1 -1
  438. data/spec/api/events_api_spec.rb +1 -1
  439. data/spec/api/frontend_api_spec.rb +1 -1
  440. data/spec/api/identity_api_spec.rb +1 -1
  441. data/spec/api/jwk_api_spec.rb +1 -1
  442. data/spec/api/metadata_api_spec.rb +1 -1
  443. data/spec/api/o_auth2_api_spec.rb +1 -1
  444. data/spec/api/oidc_api_spec.rb +1 -1
  445. data/spec/api/permission_api_spec.rb +1 -1
  446. data/spec/api/project_api_spec.rb +1 -1
  447. data/spec/api/relationship_api_spec.rb +1 -1
  448. data/spec/api/wellknown_api_spec.rb +1 -1
  449. data/spec/api/workspace_api_spec.rb +1 -1
  450. data/spec/models/accept_device_user_code_request_spec.rb +1 -1
  451. data/spec/models/accept_o_auth2_consent_request_session_spec.rb +1 -1
  452. data/spec/models/accept_o_auth2_consent_request_spec.rb +1 -1
  453. data/spec/models/accept_o_auth2_login_request_spec.rb +1 -1
  454. data/spec/models/account_experience_colors_spec.rb +1 -1
  455. data/spec/models/account_experience_configuration_spec.rb +1 -1
  456. data/spec/models/add_project_to_workspace_body_spec.rb +1 -1
  457. data/spec/models/add_workspace_organization_domain_body_spec.rb +1 -1
  458. data/spec/models/admin_identity_import_credentials_lookup_secret_config_spec.rb +1 -1
  459. data/spec/models/admin_identity_import_credentials_lookup_secret_spec.rb +1 -1
  460. data/spec/models/admin_revoke_imported_api_key_body_spec.rb +1 -1
  461. data/spec/models/admin_revoke_issued_api_key_body_spec.rb +1 -1
  462. data/spec/models/admin_rotate_issued_api_key_body_spec.rb +1 -1
  463. data/spec/models/admin_update_imported_api_key_request_spec.rb +1 -1
  464. data/spec/models/admin_update_issued_api_key_request_spec.rb +1 -1
  465. data/spec/models/ai_assistant_session_token_spec.rb +1 -1
  466. data/spec/models/any_spec.rb +1 -1
  467. data/spec/models/attribute_filter_spec.rb +1 -1
  468. data/spec/models/attribute_spec.rb +1 -1
  469. data/spec/models/attributes_count_datapoint_spec.rb +1 -1
  470. data/spec/models/authenticator_assurance_level_spec.rb +1 -1
  471. data/spec/models/basic_organization_spec.rb +1 -1
  472. data/spec/models/batch_check_permission_body_spec.rb +1 -1
  473. data/spec/models/batch_check_permission_result_spec.rb +1 -1
  474. data/spec/models/batch_create_imported_api_keys_error_code_spec.rb +1 -1
  475. data/spec/models/batch_create_imported_api_keys_request_spec.rb +1 -1
  476. data/spec/models/batch_create_imported_api_keys_response_spec.rb +1 -1
  477. data/spec/models/batch_create_imported_api_keys_result_spec.rb +1 -1
  478. data/spec/models/batch_patch_identities_response_spec.rb +1 -1
  479. data/spec/models/batch_verify_api_keys_request_spec.rb +1 -1
  480. data/spec/models/batch_verify_api_keys_response_spec.rb +1 -1
  481. data/spec/models/billing_period_bucket_spec.rb +1 -1
  482. data/spec/models/check_opl_syntax_result_spec.rb +1 -1
  483. data/spec/models/check_permission_result_spec.rb +1 -1
  484. data/spec/models/check_permission_result_with_error_spec.rb +1 -1
  485. data/spec/models/cloud_account_spec.rb +1 -1
  486. data/spec/models/continue_with_device_authn_pin_entry_ui_data_spec.rb +1 -1
  487. data/spec/models/continue_with_device_authn_pin_entry_ui_spec.rb +1 -1
  488. data/spec/models/continue_with_recovery_ui_flow_spec.rb +1 -1
  489. data/spec/models/continue_with_recovery_ui_spec.rb +1 -1
  490. data/spec/models/continue_with_redirect_browser_to_spec.rb +1 -1
  491. data/spec/models/continue_with_set_ory_session_token_spec.rb +1 -1
  492. data/spec/models/continue_with_settings_ui_flow_spec.rb +1 -1
  493. data/spec/models/continue_with_settings_ui_spec.rb +1 -1
  494. data/spec/models/continue_with_spec.rb +1 -1
  495. data/spec/models/continue_with_verification_ui_flow_spec.rb +1 -1
  496. data/spec/models/continue_with_verification_ui_spec.rb +1 -1
  497. data/spec/models/courier_message_status_spec.rb +1 -1
  498. data/spec/models/courier_message_type_spec.rb +1 -1
  499. data/spec/models/create_custom_domain_body_spec.rb +1 -1
  500. data/spec/models/create_event_stream_body_spec.rb +7 -1
  501. data/spec/models/create_fedcm_flow_response_spec.rb +1 -1
  502. data/spec/models/create_identity_body_spec.rb +1 -1
  503. data/spec/models/create_invite_response_spec.rb +1 -1
  504. data/spec/models/create_json_web_key_set_spec.rb +1 -1
  505. data/spec/models/create_onboarding_link_response_spec.rb +1 -1
  506. data/spec/models/create_organization_onboarding_portal_link_body_spec.rb +1 -1
  507. data/spec/models/create_project_api_key_body_spec.rb +1 -1
  508. data/spec/models/create_project_body_spec.rb +1 -1
  509. data/spec/models/create_project_branding_spec.rb +1 -1
  510. data/spec/models/create_project_member_invite_body_spec.rb +1 -1
  511. data/spec/models/create_project_normalized_payload_spec.rb +55 -1
  512. data/spec/models/create_recovery_code_for_identity_body_spec.rb +1 -1
  513. data/spec/models/create_recovery_link_for_identity_body_spec.rb +1 -1
  514. data/spec/models/create_relationship_body_spec.rb +1 -1
  515. data/spec/models/create_subscription_body_spec.rb +1 -1
  516. data/spec/models/create_subscription_common_spec.rb +1 -1
  517. data/spec/models/create_test_login_flow_body_spec.rb +1 -1
  518. data/spec/models/create_test_login_flow_from_onboarding_portal_link_body_spec.rb +1 -1
  519. data/spec/models/create_verifiable_credential_request_body_spec.rb +1 -1
  520. data/spec/models/create_workspace_api_key_body_spec.rb +1 -1
  521. data/spec/models/create_workspace_body_spec.rb +1 -1
  522. data/spec/models/create_workspace_contact_body_spec.rb +1 -1
  523. data/spec/models/create_workspace_member_invite_body_spec.rb +1 -1
  524. data/spec/models/create_workspace_organization_body_spec.rb +1 -1
  525. data/spec/models/create_workspace_subscription_body_spec.rb +1 -1
  526. data/spec/models/credential_supported_draft00_spec.rb +1 -1
  527. data/spec/models/custom_domain_spec.rb +1 -1
  528. data/spec/models/customer_portal_availability_spec.rb +1 -1
  529. data/spec/models/delete_my_sessions_count_spec.rb +1 -1
  530. data/spec/models/derive_token_request_spec.rb +1 -1
  531. data/spec/models/derive_token_response_spec.rb +1 -1
  532. data/spec/models/device_authn_android_authorization_list_spec.rb +1 -1
  533. data/spec/models/device_authn_android_key_description_spec.rb +1 -1
  534. data/spec/models/device_authn_android_root_of_trust_spec.rb +1 -1
  535. data/spec/models/device_authn_attestation_spec.rb +1 -1
  536. data/spec/models/device_authn_ios_att_stmt_spec.rb +1 -1
  537. data/spec/models/device_authn_ios_attestation_spec.rb +1 -1
  538. data/spec/models/device_authn_key_spec.rb +1 -1
  539. data/spec/models/device_authorization_spec.rb +1 -1
  540. data/spec/models/device_type_spec.rb +1 -1
  541. data/spec/models/device_user_auth_request_spec.rb +1 -1
  542. data/spec/models/domain_verification_status_spec.rb +1 -1
  543. data/spec/models/elements_configuration_spec.rb +1 -1
  544. data/spec/models/email_template_data_body_spec.rb +1 -1
  545. data/spec/models/email_template_data_spec.rb +1 -1
  546. data/spec/models/error_authenticator_assurance_level_not_satisfied_spec.rb +1 -1
  547. data/spec/models/error_browser_location_change_required_spec.rb +1 -1
  548. data/spec/models/error_flow_replaced_spec.rb +1 -1
  549. data/spec/models/error_generic_spec.rb +1 -1
  550. data/spec/models/error_o_auth2_spec.rb +1 -1
  551. data/spec/models/event_stream_spec.rb +7 -1
  552. data/spec/models/expanded_permission_tree_spec.rb +1 -1
  553. data/spec/models/feature_flags_catalog_entry_spec.rb +1 -1
  554. data/spec/models/flow_error_spec.rb +1 -1
  555. data/spec/models/generic_error_content_spec.rb +1 -1
  556. data/spec/models/generic_error_spec.rb +1 -1
  557. data/spec/models/generic_oidc_provider_spec.rb +1 -1
  558. data/spec/models/generic_usage_spec.rb +1 -1
  559. data/spec/models/get_attributes_count_spec.rb +1 -1
  560. data/spec/models/get_jwks_response_jwks_keys_inner_spec.rb +1 -1
  561. data/spec/models/get_jwks_response_jwks_spec.rb +1 -1
  562. data/spec/models/get_jwks_response_spec.rb +1 -1
  563. data/spec/models/get_managed_identity_schema_location_spec.rb +1 -1
  564. data/spec/models/get_metrics_count_spec.rb +1 -1
  565. data/spec/models/get_metrics_event_attributes_spec.rb +1 -1
  566. data/spec/models/get_metrics_event_types_spec.rb +1 -1
  567. data/spec/models/get_organization_response_spec.rb +1 -1
  568. data/spec/models/get_organizations_by_hostname_response_spec.rb +1 -1
  569. data/spec/models/get_project_events_body_spec.rb +1 -1
  570. data/spec/models/get_project_events_spec.rb +1 -1
  571. data/spec/models/get_project_metrics_spec.rb +1 -1
  572. data/spec/models/get_session_activity_spec.rb +1 -1
  573. data/spec/models/get_version200_response_spec.rb +1 -1
  574. data/spec/models/health_not_ready_status_spec.rb +1 -1
  575. data/spec/models/health_status_spec.rb +1 -1
  576. data/spec/models/identity_credentials_code_address_spec.rb +1 -1
  577. data/spec/models/identity_credentials_code_spec.rb +1 -1
  578. data/spec/models/identity_credentials_lookup_secret_code_spec.rb +1 -1
  579. data/spec/models/identity_credentials_oidc_provider_spec.rb +1 -1
  580. data/spec/models/identity_credentials_oidc_spec.rb +1 -1
  581. data/spec/models/identity_credentials_password_spec.rb +1 -1
  582. data/spec/models/identity_credentials_spec.rb +1 -1
  583. data/spec/models/identity_credentials_web_authn_attestation_spec.rb +1 -1
  584. data/spec/models/identity_credentials_web_authn_authenticator_spec.rb +1 -1
  585. data/spec/models/identity_credentials_web_authn_flags_spec.rb +1 -1
  586. data/spec/models/identity_credentials_web_authn_spec.rb +1 -1
  587. data/spec/models/identity_patch_response_spec.rb +1 -1
  588. data/spec/models/identity_patch_spec.rb +1 -1
  589. data/spec/models/identity_schema_container_spec.rb +1 -1
  590. data/spec/models/identity_schema_preset_spec.rb +1 -1
  591. data/spec/models/identity_spec.rb +1 -1
  592. data/spec/models/identity_with_credentials_oidc_config_provider_spec.rb +1 -1
  593. data/spec/models/identity_with_credentials_oidc_config_spec.rb +1 -1
  594. data/spec/models/identity_with_credentials_oidc_spec.rb +1 -1
  595. data/spec/models/identity_with_credentials_passkey_config_spec.rb +1 -1
  596. data/spec/models/identity_with_credentials_passkey_spec.rb +1 -1
  597. data/spec/models/identity_with_credentials_password_config_spec.rb +1 -1
  598. data/spec/models/identity_with_credentials_password_spec.rb +1 -1
  599. data/spec/models/identity_with_credentials_saml_config_provider_spec.rb +1 -1
  600. data/spec/models/identity_with_credentials_saml_config_spec.rb +1 -1
  601. data/spec/models/identity_with_credentials_saml_spec.rb +1 -1
  602. data/spec/models/identity_with_credentials_spec.rb +1 -1
  603. data/spec/models/identity_with_credentials_totp_config_spec.rb +1 -1
  604. data/spec/models/identity_with_credentials_totp_spec.rb +1 -1
  605. data/spec/models/identity_with_credentials_web_authn_config_spec.rb +1 -1
  606. data/spec/models/identity_with_credentials_web_authn_spec.rb +1 -1
  607. data/spec/models/import_api_key_request_spec.rb +1 -1
  608. data/spec/models/imported_api_key_spec.rb +1 -1
  609. data/spec/models/internal_get_project_branding_body_spec.rb +1 -1
  610. data/spec/models/internal_is_ax_welcome_screen_enabled_for_project_body_spec.rb +1 -1
  611. data/spec/models/internal_is_owner_for_project_by_slug_body_spec.rb +1 -1
  612. data/spec/models/internal_is_owner_for_project_by_slug_spec.rb +1 -1
  613. data/spec/models/introspected_o_auth2_token_spec.rb +1 -1
  614. data/spec/models/invite_token_body_spec.rb +1 -1
  615. data/spec/models/invoice_data_v1_spec.rb +1 -1
  616. data/spec/models/invoice_spec.rb +1 -1
  617. data/spec/models/ip_restriction_spec.rb +1 -1
  618. data/spec/models/is_owner_for_project_by_slug_spec.rb +1 -1
  619. data/spec/models/issue_api_key_request_spec.rb +1 -1
  620. data/spec/models/issue_api_key_response_spec.rb +1 -1
  621. data/spec/models/issued_api_key_spec.rb +1 -1
  622. data/spec/models/json_patch_spec.rb +1 -1
  623. data/spec/models/json_web_key_set_spec.rb +1 -1
  624. data/spec/models/json_web_key_spec.rb +1 -1
  625. data/spec/models/keto_namespace_spec.rb +1 -1
  626. data/spec/models/key_state_spec.rb +1 -1
  627. data/spec/models/key_status_spec.rb +1 -1
  628. data/spec/models/key_visibility_spec.rb +1 -1
  629. data/spec/models/keyset_pagination_request_parameters_spec.rb +1 -1
  630. data/spec/models/keyset_pagination_response_headers_spec.rb +1 -1
  631. data/spec/models/line_item_v1_spec.rb +1 -1
  632. data/spec/models/list_event_streams_spec.rb +1 -1
  633. data/spec/models/list_imported_api_keys_response_spec.rb +1 -1
  634. data/spec/models/list_invoices_response_spec.rb +1 -1
  635. data/spec/models/list_issued_api_keys_response_spec.rb +1 -1
  636. data/spec/models/list_organizations_response_spec.rb +1 -1
  637. data/spec/models/list_workspace_contacts_spec.rb +1 -1
  638. data/spec/models/list_workspace_projects_spec.rb +1 -1
  639. data/spec/models/list_workspaces_spec.rb +1 -1
  640. data/spec/models/login_flow_spec.rb +1 -1
  641. data/spec/models/login_flow_state_spec.rb +1 -1
  642. data/spec/models/login_flow_test_context_spec.rb +1 -1
  643. data/spec/models/login_flow_test_debug_payload_spec.rb +7 -1
  644. data/spec/models/login_flow_test_schema_validation_error_spec.rb +1 -1
  645. data/spec/models/login_flow_test_step_error_spec.rb +1 -1
  646. data/spec/models/logout_flow_spec.rb +1 -1
  647. data/spec/models/manage_sessions_body_spec.rb +1 -1
  648. data/spec/models/manage_sessions_response_spec.rb +1 -1
  649. data/spec/models/managed_identity_schema_spec.rb +1 -1
  650. data/spec/models/managed_identity_schema_validation_result_spec.rb +1 -1
  651. data/spec/models/member_invite_spec.rb +1 -1
  652. data/spec/models/message_dispatch_spec.rb +1 -1
  653. data/spec/models/message_spec.rb +1 -1
  654. data/spec/models/metrics_datapoint_spec.rb +1 -1
  655. data/spec/models/namespace_spec.rb +1 -1
  656. data/spec/models/needs_privileged_session_error_spec.rb +1 -1
  657. data/spec/models/normalized_project_revision_courier_channel_spec.rb +1 -1
  658. data/spec/models/normalized_project_revision_hook_spec.rb +1 -1
  659. data/spec/models/normalized_project_revision_identity_schema_spec.rb +1 -1
  660. data/spec/models/normalized_project_revision_saml_provider_spec.rb +1 -1
  661. data/spec/models/normalized_project_revision_scim_client_spec.rb +1 -1
  662. data/spec/models/normalized_project_revision_spec.rb +55 -1
  663. data/spec/models/normalized_project_revision_third_party_provider_spec.rb +1 -1
  664. data/spec/models/normalized_project_revision_tokenizer_template_spec.rb +1 -1
  665. data/spec/models/normalized_project_spec.rb +1 -1
  666. data/spec/models/null_value_spec.rb +1 -1
  667. data/spec/models/o_auth2_client_spec.rb +1 -1
  668. data/spec/models/o_auth2_client_token_lifespans_spec.rb +1 -1
  669. data/spec/models/o_auth2_consent_request_open_id_connect_context_spec.rb +1 -1
  670. data/spec/models/o_auth2_consent_request_spec.rb +1 -1
  671. data/spec/models/o_auth2_consent_session_spec.rb +1 -1
  672. data/spec/models/o_auth2_login_request_spec.rb +1 -1
  673. data/spec/models/o_auth2_logout_request_spec.rb +1 -1
  674. data/spec/models/o_auth2_redirect_to_spec.rb +1 -1
  675. data/spec/models/o_auth2_token_exchange_spec.rb +1 -1
  676. data/spec/models/oidc_configuration_spec.rb +1 -1
  677. data/spec/models/oidc_user_info_spec.rb +1 -1
  678. data/spec/models/onboarding_portal_link_spec.rb +1 -1
  679. data/spec/models/onboarding_portal_organization_spec.rb +7 -1
  680. data/spec/models/onboarding_portal_test_login_flow_spec.rb +1 -1
  681. data/spec/models/opl_parse_error_spec.rb +1 -1
  682. data/spec/models/opl_source_position_spec.rb +1 -1
  683. data/spec/models/opl_validate_result_spec.rb +1 -1
  684. data/spec/models/organization_body_spec.rb +1 -1
  685. data/spec/models/organization_by_hostname_spec.rb +1 -1
  686. data/spec/models/organization_onboarding_portal_links_response_spec.rb +1 -1
  687. data/spec/models/organization_spec.rb +1 -1
  688. data/spec/models/parse_error_spec.rb +1 -1
  689. data/spec/models/patch_identities_body_spec.rb +1 -1
  690. data/spec/models/patch_workspace_contact_body_spec.rb +1 -1
  691. data/spec/models/patch_workspace_member_body_spec.rb +1 -1
  692. data/spec/models/perform_native_logout_body_spec.rb +1 -1
  693. data/spec/models/permissions_on_workspace_spec.rb +1 -1
  694. data/spec/models/pin_config_spec.rb +1 -1
  695. data/spec/models/plan_details_spec.rb +1 -1
  696. data/spec/models/post_check_permission_body_spec.rb +1 -1
  697. data/spec/models/post_check_permission_or_error_body_spec.rb +1 -1
  698. data/spec/models/project_api_key_spec.rb +1 -1
  699. data/spec/models/project_branding_colors_spec.rb +1 -1
  700. data/spec/models/project_branding_spec.rb +1 -1
  701. data/spec/models/project_branding_theme_spec.rb +1 -1
  702. data/spec/models/project_cors_spec.rb +1 -1
  703. data/spec/models/project_events_datapoint_spec.rb +1 -1
  704. data/spec/models/project_host_spec.rb +1 -1
  705. data/spec/models/project_member_spec.rb +1 -1
  706. data/spec/models/project_metadata_spec.rb +1 -1
  707. data/spec/models/project_service_account_experience_spec.rb +1 -1
  708. data/spec/models/project_service_identity_spec.rb +1 -1
  709. data/spec/models/project_service_o_auth2_spec.rb +1 -1
  710. data/spec/models/project_service_permission_spec.rb +1 -1
  711. data/spec/models/project_service_talos_spec.rb +1 -1
  712. data/spec/models/project_services_spec.rb +1 -1
  713. data/spec/models/project_spec.rb +1 -1
  714. data/spec/models/provider_spec.rb +1 -1
  715. data/spec/models/public_member_invite_spec.rb +1 -1
  716. data/spec/models/quota_usage_spec.rb +2 -2
  717. data/spec/models/rate_limit_policy_spec.rb +1 -1
  718. data/spec/models/recovery_code_for_identity_spec.rb +1 -1
  719. data/spec/models/recovery_flow_spec.rb +1 -1
  720. data/spec/models/recovery_flow_state_spec.rb +1 -1
  721. data/spec/models/recovery_identity_address_spec.rb +1 -1
  722. data/spec/models/recovery_link_for_identity_spec.rb +1 -1
  723. data/spec/models/registration_flow_spec.rb +1 -1
  724. data/spec/models/registration_flow_state_spec.rb +1 -1
  725. data/spec/models/reject_o_auth2_request_spec.rb +1 -1
  726. data/spec/models/relation_query_spec.rb +1 -1
  727. data/spec/models/relationship_namespaces_spec.rb +1 -1
  728. data/spec/models/relationship_patch_spec.rb +1 -1
  729. data/spec/models/relationship_spec.rb +1 -1
  730. data/spec/models/relationships_spec.rb +1 -1
  731. data/spec/models/revision_account_experience_custom_translation_spec.rb +1 -1
  732. data/spec/models/revocation_reason_spec.rb +1 -1
  733. data/spec/models/rfc6749_error_json_spec.rb +1 -1
  734. data/spec/models/rotate_issued_api_key_response_spec.rb +1 -1
  735. data/spec/models/rotate_o_auth2_client_secret_body_spec.rb +1 -1
  736. data/spec/models/rotate_talos_key_body_spec.rb +1 -1
  737. data/spec/models/schema_patch_spec.rb +1 -1
  738. data/spec/models/self_revoke_api_key_request_spec.rb +1 -1
  739. data/spec/models/self_service_flow_expired_error_spec.rb +1 -1
  740. data/spec/models/session_activity_datapoint_spec.rb +1 -1
  741. data/spec/models/session_authentication_method_spec.rb +1 -1
  742. data/spec/models/session_device_spec.rb +1 -1
  743. data/spec/models/session_spec.rb +1 -1
  744. data/spec/models/set_custom_domain_body_spec.rb +1 -1
  745. data/spec/models/set_event_stream_body_spec.rb +7 -1
  746. data/spec/models/set_organization_from_onboarding_portal_link_body_spec.rb +1 -1
  747. data/spec/models/set_project_branding_theme_body_spec.rb +1 -1
  748. data/spec/models/set_project_spec.rb +1 -1
  749. data/spec/models/settings_flow_spec.rb +1 -1
  750. data/spec/models/settings_flow_state_spec.rb +1 -1
  751. data/spec/models/source_position_spec.rb +1 -1
  752. data/spec/models/status_spec.rb +1 -1
  753. data/spec/models/subject_set_spec.rb +1 -1
  754. data/spec/models/subscription_spec.rb +1 -1
  755. data/spec/models/successful_code_exchange_response_spec.rb +1 -1
  756. data/spec/models/successful_native_login_spec.rb +1 -1
  757. data/spec/models/successful_native_registration_spec.rb +1 -1
  758. data/spec/models/successful_project_update_spec.rb +1 -1
  759. data/spec/models/talos_retired_value_spec.rb +1 -1
  760. data/spec/models/tax_line_item_spec.rb +1 -1
  761. data/spec/models/time_interval_spec.rb +1 -1
  762. data/spec/models/token_algorithm_spec.rb +1 -1
  763. data/spec/models/token_pagination_headers_spec.rb +1 -1
  764. data/spec/models/token_pagination_request_parameters_spec.rb +1 -1
  765. data/spec/models/token_pagination_response_headers_spec.rb +1 -1
  766. data/spec/models/token_pagination_spec.rb +1 -1
  767. data/spec/models/token_spec.rb +1 -1
  768. data/spec/models/trust_o_auth2_jwt_grant_issuer_spec.rb +1 -1
  769. data/spec/models/trusted_o_auth2_jwt_grant_issuer_spec.rb +1 -1
  770. data/spec/models/trusted_o_auth2_jwt_grant_json_web_key_spec.rb +1 -1
  771. data/spec/models/ui_container_spec.rb +1 -1
  772. data/spec/models/ui_node_anchor_attributes_spec.rb +1 -1
  773. data/spec/models/ui_node_attributes_spec.rb +1 -1
  774. data/spec/models/ui_node_division_attributes_spec.rb +1 -1
  775. data/spec/models/ui_node_image_attributes_spec.rb +1 -1
  776. data/spec/models/ui_node_input_attributes_option_spec.rb +1 -1
  777. data/spec/models/ui_node_input_attributes_spec.rb +1 -1
  778. data/spec/models/ui_node_meta_spec.rb +1 -1
  779. data/spec/models/ui_node_script_attributes_spec.rb +1 -1
  780. data/spec/models/ui_node_spec.rb +1 -1
  781. data/spec/models/ui_node_text_attributes_spec.rb +1 -1
  782. data/spec/models/ui_text_spec.rb +1 -1
  783. data/spec/models/update_fedcm_flow_body_spec.rb +1 -1
  784. data/spec/models/update_identity_body_spec.rb +1 -1
  785. data/spec/models/update_login_flow_body_spec.rb +1 -1
  786. data/spec/models/update_login_flow_with_code_method_spec.rb +1 -1
  787. data/spec/models/update_login_flow_with_device_authn_method_spec.rb +1 -1
  788. data/spec/models/update_login_flow_with_identifier_first_method_spec.rb +1 -1
  789. data/spec/models/update_login_flow_with_lookup_secret_method_spec.rb +7 -1
  790. data/spec/models/update_login_flow_with_oidc_method_spec.rb +1 -1
  791. data/spec/models/update_login_flow_with_passkey_method_spec.rb +7 -1
  792. data/spec/models/update_login_flow_with_password_method_spec.rb +1 -1
  793. data/spec/models/update_login_flow_with_saml_method_spec.rb +1 -1
  794. data/spec/models/update_login_flow_with_totp_method_spec.rb +1 -1
  795. data/spec/models/update_login_flow_with_web_authn_method_spec.rb +1 -1
  796. data/spec/models/update_organization_onboarding_portal_link_body_spec.rb +1 -1
  797. data/spec/models/update_recovery_flow_body_spec.rb +1 -1
  798. data/spec/models/update_recovery_flow_with_code_method_spec.rb +1 -1
  799. data/spec/models/update_recovery_flow_with_link_method_spec.rb +1 -1
  800. data/spec/models/update_registration_flow_body_spec.rb +1 -1
  801. data/spec/models/update_registration_flow_with_code_method_spec.rb +1 -1
  802. data/spec/models/update_registration_flow_with_oidc_method_spec.rb +1 -1
  803. data/spec/models/update_registration_flow_with_passkey_method_spec.rb +1 -1
  804. data/spec/models/update_registration_flow_with_password_method_spec.rb +1 -1
  805. data/spec/models/update_registration_flow_with_profile_method_spec.rb +1 -1
  806. data/spec/models/update_registration_flow_with_saml_method_spec.rb +1 -1
  807. data/spec/models/update_registration_flow_with_web_authn_method_spec.rb +1 -1
  808. data/spec/models/update_settings_flow_body_spec.rb +1 -1
  809. data/spec/models/update_settings_flow_with_device_authn_method_register_spec.rb +1 -1
  810. data/spec/models/update_settings_flow_with_device_authn_method_rotate_secret_spec.rb +1 -1
  811. data/spec/models/update_settings_flow_with_device_authn_method_spec.rb +1 -1
  812. data/spec/models/update_settings_flow_with_lookup_method_spec.rb +1 -1
  813. data/spec/models/update_settings_flow_with_oidc_method_spec.rb +1 -1
  814. data/spec/models/update_settings_flow_with_passkey_method_spec.rb +1 -1
  815. data/spec/models/update_settings_flow_with_password_method_spec.rb +1 -1
  816. data/spec/models/update_settings_flow_with_profile_method_spec.rb +1 -1
  817. data/spec/models/update_settings_flow_with_saml_method_spec.rb +1 -1
  818. data/spec/models/update_settings_flow_with_totp_method_spec.rb +1 -1
  819. data/spec/models/update_settings_flow_with_web_authn_method_spec.rb +1 -1
  820. data/spec/models/update_subscription_body_spec.rb +1 -1
  821. data/spec/models/update_verification_flow_body_spec.rb +1 -1
  822. data/spec/models/update_verification_flow_with_code_method_spec.rb +1 -1
  823. data/spec/models/update_verification_flow_with_link_method_spec.rb +1 -1
  824. data/spec/models/update_workspace_body_spec.rb +1 -1
  825. data/spec/models/update_workspace_organization_body_spec.rb +1 -1
  826. data/spec/models/usage_spec.rb +1 -1
  827. data/spec/models/user_verification_spec.rb +1 -1
  828. data/spec/models/validate_base_url_rewrite_request_spec.rb +1 -1
  829. data/spec/models/validate_base_url_rewrite_response_spec.rb +1 -1
  830. data/spec/models/verifiable_credential_priming_response_spec.rb +1 -1
  831. data/spec/models/verifiable_credential_proof_spec.rb +1 -1
  832. data/spec/models/verifiable_credential_response_spec.rb +1 -1
  833. data/spec/models/verifiable_identity_address_spec.rb +1 -1
  834. data/spec/models/verification_error_code_spec.rb +1 -1
  835. data/spec/models/verification_flow_spec.rb +1 -1
  836. data/spec/models/verification_flow_state_spec.rb +1 -1
  837. data/spec/models/verify_api_key_request_spec.rb +1 -1
  838. data/spec/models/verify_api_key_response_spec.rb +1 -1
  839. data/spec/models/verify_user_code_request_spec.rb +1 -1
  840. data/spec/models/version_spec.rb +1 -1
  841. data/spec/models/warning_spec.rb +1 -1
  842. data/spec/models/web_authn_related_origins_spec.rb +1 -1
  843. data/spec/models/workspace_api_key_spec.rb +1 -1
  844. data/spec/models/workspace_contact_recipient_input_spec.rb +1 -1
  845. data/spec/models/workspace_contact_recipient_spec.rb +1 -1
  846. data/spec/models/workspace_contact_spec.rb +1 -1
  847. data/spec/models/workspace_organization_spec.rb +1 -1
  848. data/spec/models/workspace_spec.rb +1 -1
  849. data/spec/spec_helper.rb +1 -1
  850. data/vendor/bundle/ruby/3.2.0/cache/ethon-0.19.1.gem +0 -0
  851. data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.5.gem +0 -0
  852. data/vendor/bundle/ruby/3.2.0/cache/typhoeus-1.7.1.gem +0 -0
  853. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  854. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/{io-console-0.9.4 → io-console-0.9.5}/gem_make.out +10 -10
  855. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/{io-console-0.9.4 → io-console-0.9.5}/io/console.so +0 -0
  856. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/{io-console-0.9.4 → io-console-0.9.5}/mkmf.log +6 -6
  857. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  858. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/psych-4.0.6/gem_make.out +5 -5
  859. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem_make.out +5 -5
  860. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  861. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/CHANGELOG.md +1120 -0
  862. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/README.md +261 -0
  863. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curl.rb +22 -0
  864. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/classes.rb +337 -0
  865. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/codes.rb +28 -9
  866. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/constants.rb +61 -4
  867. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/form_options.rb +2 -1
  868. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/functions.rb +107 -0
  869. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/infos.rb +104 -5
  870. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/introspection.rb +139 -0
  871. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/introspection_constants.rb +42 -0
  872. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/mime.rb +187 -0
  873. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/optional.rb +14 -0
  874. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/options.rb +298 -71
  875. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/settings.rb +21 -0
  876. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/share.rb +165 -0
  877. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/share_constants.rb +47 -0
  878. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/url.rb +171 -0
  879. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/url_constants.rb +78 -0
  880. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/callbacks.rb +281 -0
  881. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/features.rb +4 -1
  882. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/files.rb +113 -0
  883. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/form.rb +65 -6
  884. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/header.rb +103 -0
  885. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/headers_api.rb +79 -0
  886. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/actionable.rb +25 -3
  887. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/get.rb +5 -1
  888. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/post.rb +1 -0
  889. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/postable.rb +9 -2
  890. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/http/putable.rb +40 -0
  891. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http.rb +16 -4
  892. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/informations.rb +51 -2
  893. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/mime.rb +29 -0
  894. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/mirror.rb +49 -0
  895. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/operations.rb +317 -0
  896. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/options.rb +369 -0
  897. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/queryable.rb +59 -14
  898. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/response_callbacks.rb +33 -12
  899. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/share.rb +28 -0
  900. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/url.rb +32 -0
  901. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/util.rb +47 -0
  902. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy.rb +185 -10
  903. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/fork_safety.rb +10 -0
  904. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/form_add.rb +12 -0
  905. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/global_init.rb +1 -1
  906. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/header.rb +12 -0
  907. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/invalid_option.rb +3 -1
  908. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/invalid_value.rb +15 -0
  909. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/mime.rb +17 -0
  910. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_add.rb +1 -1
  911. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_assign.rb +12 -0
  912. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_fdset.rb +1 -1
  913. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_perform.rb +12 -0
  914. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_poll.rb +12 -0
  915. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_remove.rb +1 -1
  916. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_timeout.rb +2 -2
  917. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_wait.rb +12 -0
  918. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_wakeup.rb +12 -0
  919. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/select.rb +1 -1
  920. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/set_option.rb +27 -0
  921. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/share.rb +17 -0
  922. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/unsupported_option.rb +23 -0
  923. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/url.rb +17 -0
  924. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors.rb +13 -0
  925. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/libc.rb +50 -0
  926. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/loggable.rb +1 -1
  927. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/operations.rb +472 -0
  928. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/options.rb +219 -0
  929. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/stack.rb +220 -0
  930. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/multi.rb +51 -15
  931. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/version.rb +1 -1
  932. data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon.rb +8 -9
  933. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/console.c +8 -3
  934. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/extconf.rb +7 -3
  935. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/lib/io/console.so +0 -0
  936. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/CHANGELOG.md +228 -1
  937. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/README.md +766 -0
  938. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/UPGRADE.md +29 -0
  939. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/rack/typhoeus/middleware/params_decoder/helper.rb +129 -0
  940. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/rack/typhoeus/middleware/params_decoder.rb +8 -19
  941. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/rack/typhoeus.rb +2 -0
  942. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/adapters/faraday.rb +89 -28
  943. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/dalli.rb +2 -0
  944. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/rails.rb +3 -1
  945. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/redis.rb +2 -0
  946. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/config.rb +51 -7
  947. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/easy_factory.rb +129 -23
  948. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/errors/invalid_option.rb +23 -0
  949. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/errors/no_response.rb +18 -0
  950. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors/no_stub.rb +8 -1
  951. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors/typhoeus_error.rb +2 -0
  952. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors.rb +4 -0
  953. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/expectation.rb +33 -1
  954. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/hydra/queueable.rb +29 -4
  955. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/hydra.rb +423 -0
  956. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/pool.rb +133 -0
  957. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/railtie.rb +4 -2
  958. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/actions.rb +2 -0
  959. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/callbacks.rb +11 -4
  960. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/marshal.rb +5 -2
  961. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/streamable.rb +2 -0
  962. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/request.rb +510 -0
  963. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/cacheable.rb +2 -0
  964. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/response/header.rb +325 -0
  965. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/informations.rb +75 -12
  966. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/status.rb +4 -13
  967. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response.rb +35 -0
  968. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/version.rb +3 -1
  969. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus.rb +206 -0
  970. data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/typhoeus.gemspec +15 -3
  971. data/vendor/bundle/ruby/3.2.0/specifications/{ethon-0.18.0.gemspec → ethon-0.19.1.gemspec} +4 -4
  972. data/vendor/bundle/ruby/3.2.0/specifications/{io-console-0.9.4.gemspec → io-console-0.9.5.gemspec} +3 -3
  973. data/vendor/bundle/ruby/3.2.0/specifications/{typhoeus-1.6.0.gemspec → typhoeus-1.7.1.gemspec} +5 -5
  974. metadata +143 -129
  975. data/vendor/bundle/ruby/3.2.0/cache/ethon-0.18.0.gem +0 -0
  976. data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.4.gem +0 -0
  977. data/vendor/bundle/ruby/3.2.0/cache/typhoeus-1.6.0.gem +0 -0
  978. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/CHANGELOG.md +0 -417
  979. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/README.md +0 -118
  980. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/classes.rb +0 -65
  981. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/functions.rb +0 -58
  982. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/settings.rb +0 -12
  983. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/callbacks.rb +0 -155
  984. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/header.rb +0 -61
  985. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/http/putable.rb +0 -25
  986. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/mirror.rb +0 -36
  987. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/operations.rb +0 -64
  988. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/options.rb +0 -50
  989. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/util.rb +0 -28
  990. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/errors/invalid_value.rb +0 -13
  991. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/libc.rb +0 -21
  992. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/operations.rb +0 -228
  993. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/options.rb +0 -117
  994. data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/stack.rb +0 -49
  995. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/README.md +0 -588
  996. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -76
  997. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/addable.rb +0 -23
  998. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/before.rb +0 -31
  999. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/block_connection.rb +0 -35
  1000. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/cacheable.rb +0 -15
  1001. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/memoizable.rb +0 -56
  1002. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/runnable.rb +0 -19
  1003. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/stubbable.rb +0 -28
  1004. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra.rb +0 -95
  1005. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/pool.rb +0 -70
  1006. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/before.rb +0 -30
  1007. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/block_connection.rb +0 -52
  1008. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/cacheable.rb +0 -38
  1009. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/memoizable.rb +0 -38
  1010. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/operations.rb +0 -40
  1011. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/responseable.rb +0 -29
  1012. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/stubbable.rb +0 -30
  1013. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request.rb +0 -223
  1014. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/response/header.rb +0 -105
  1015. data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus.rb +0 -143
  1016. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/{io-console-0.9.4 → io-console-0.9.5}/gem.build_complete +0 -0
  1017. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/LICENSE +0 -0
  1018. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/ethon.gemspec +0 -0
  1019. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/messages.rb +0 -0
  1020. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/debug_info.rb +0 -0
  1021. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/custom.rb +0 -0
  1022. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/delete.rb +0 -0
  1023. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/head.rb +0 -0
  1024. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/options.rb +0 -0
  1025. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/patch.rb +0 -0
  1026. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/put.rb +0 -0
  1027. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/params.rb +0 -0
  1028. /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/ethon_error.rb +0 -0
  1029. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/.document +0 -0
  1030. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/BSDL +0 -0
  1031. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/COPYING +0 -0
  1032. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/README.md +0 -0
  1033. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/Makefile +0 -0
  1034. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/win32_vk.inc +0 -0
  1035. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/lib/io/console/size.rb +0 -0
  1036. /data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/CONTRIBUTING.md +0 -0
  1037. /data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/LICENSE +0 -0
@@ -7,7 +7,7 @@ module Ethon
7
7
  module Codes
8
8
 
9
9
  # Libcurl error codes, refer
10
- # https://github.com/bagder/curl/blob/master/include/curl/curl.h for details
10
+ # https://github.com/curl/curl/blob/master/include/curl/curl.h for details
11
11
  def easy_codes
12
12
  [
13
13
  :ok,
@@ -18,7 +18,7 @@ module Ethon
18
18
  :couldnt_resolve_proxy,
19
19
  :couldnt_resolve_host,
20
20
  :couldnt_connect,
21
- :ftp_weird_server_reply,
21
+ :ftp_weird_server_reply, # CURLE_WEIRD_SERVER_REPLY since 7.51.0
22
22
  :remote_access_denied,
23
23
  :ftp_accept_failed,
24
24
  :ftp_weird_pass_reply,
@@ -44,14 +44,14 @@ module Ethon
44
44
  :ftp_couldnt_use_rest,
45
45
  :obsolete32,
46
46
  :range_error,
47
- :http_post_error,
47
+ :http_post_error, # CURLE_OBSOLETE34 since 7.56.0
48
48
  :ssl_connect_error,
49
49
  :bad_download_resume,
50
50
  :file_couldnt_read_file,
51
51
  :ldap_cannot_bind,
52
52
  :ldap_search_failed,
53
53
  :obsolete40,
54
- :function_not_found,
54
+ :function_not_found, # CURLE_OBSOLETE41 since 7.53.0
55
55
  :aborted_by_callback,
56
56
  :bad_function_argument,
57
57
  :obsolete44,
@@ -59,7 +59,7 @@ module Ethon
59
59
  :obsolete46,
60
60
  :too_many_redirects ,
61
61
  :unknown_option,
62
- :telnet_option_syntax ,
62
+ :telnet_option_syntax, # CURLE_SETOPT_OPTION_SYNTAX since 7.78.0
63
63
  :obsolete50,
64
64
  :obsolete51,
65
65
  :got_nothing,
@@ -72,7 +72,7 @@ module Ethon
72
72
  :ssl_cipher,
73
73
  :peer_failed_verification,
74
74
  :bad_content_encoding,
75
- :ldap_invalid_url,
75
+ :ldap_invalid_url, # CURLE_OBSOLETE62 since 7.82.0
76
76
  :filesize_exceeded,
77
77
  :use_ssl_failed,
78
78
  :send_fail_rewind,
@@ -85,8 +85,8 @@ module Ethon
85
85
  :tftp_unknownid,
86
86
  :remote_file_exists,
87
87
  :tftp_nosuchuser,
88
- :conv_failed,
89
- :conv_reqd,
88
+ :conv_failed, # CURLE_OBSOLETE75 since 7.82.0
89
+ :conv_reqd, # CURLE_OBSOLETE76 since 7.82.0
90
90
  :ssl_cacert_badfile,
91
91
  :remote_file_not_found,
92
92
  :ssh,
@@ -99,12 +99,25 @@ module Ethon
99
99
  :rtsp_session_error,
100
100
  :ftp_bad_file_list,
101
101
  :chunk_failed,
102
+ :no_connection_available,
103
+ :ssl_pinnedpubkeynotmatch,
104
+ :ssl_invalidcertstatus,
105
+ :http2_stream,
106
+ :recursive_api_call,
107
+ :auth_error,
108
+ :http3,
109
+ :quic_connect_error,
110
+ :proxy,
111
+ :ssl_clientcert,
112
+ :unrecoverable_poll,
113
+ :too_large,
114
+ :ech_required,
102
115
  :last
103
116
  ]
104
117
  end
105
118
 
106
119
  # Curl-Multi socket error codes, refer
107
- # https://github.com/bagder/curl/blob/master/include/curl/multi.h for details
120
+ # https://github.com/curl/curl/blob/master/include/curl/multi.h for details
108
121
  def multi_codes
109
122
  [
110
123
  :call_multi_perform, -1,
@@ -115,6 +128,12 @@ module Ethon
115
128
  :internal_error,
116
129
  :bad_socket,
117
130
  :unknown_option,
131
+ :added_already,
132
+ :recursive_api_call,
133
+ :wakeup_failure,
134
+ :bad_function_argument,
135
+ :aborted_by_callback,
136
+ :unrecoverable_poll,
118
137
  :last
119
138
  ]
120
139
  end
@@ -4,6 +4,34 @@ module Ethon
4
4
  # :nodoc:
5
5
  VERSION_NOW = 3
6
6
 
7
+ # curl_sslbackend values used by curl_global_sslset.
8
+ SslBackend = enum(:ssl_backend, [
9
+ :none,
10
+ :openssl,
11
+ :gnutls,
12
+ :nss,
13
+ :obsolete4,
14
+ :gskit,
15
+ :polarssl,
16
+ :wolfssl,
17
+ :schannel,
18
+ :securetransport,
19
+ :axtls,
20
+ :mbedtls,
21
+ :mesalink,
22
+ :bearssl,
23
+ :rustls
24
+ ])
25
+
26
+ # CURLsslset values returned by curl_global_sslset. These are not CURLcode
27
+ # values, even though both start at zero.
28
+ SslSetCode = enum(:ssl_set_code, [
29
+ :ok,
30
+ :unknown_backend,
31
+ :too_late,
32
+ :no_backends
33
+ ])
34
+
7
35
  # Flag. Initialize SSL.
8
36
  GLOBAL_SSL = 0x01
9
37
  # Flag. Initialize win32 socket libraries.
@@ -24,18 +52,18 @@ module Ethon
24
52
  MultiOption = enum(:multi_option, multi_options(:enum).to_a.flatten)
25
53
 
26
54
  # Used by curl_debug_callback when setting CURLOPT_DEBUGFUNCTION
27
- # https://github.com/bagder/curl/blob/master/include/curl/curl.h#L378 for details
55
+ # https://github.com/curl/curl/blob/master/include/curl/curl.h#L378 for details
28
56
  DebugInfoType = enum(:debug_info_type, debug_info_types)
29
57
 
30
58
  # :nodoc:
31
59
  InfoType = enum(info_types.to_a.flatten)
32
60
 
33
61
  # Info details, refer
34
- # https://github.com/bagder/curl/blob/master/src/tool_writeout.c#L66 for details
62
+ # https://github.com/curl/curl/blob/master/src/tool_writeout.c#L66 for details
35
63
  Info = enum(:info, infos.to_a.flatten)
36
64
 
37
65
  # Form options, used by FormAdd for temporary storage, refer
38
- # https://github.com/bagder/curl/blob/master/lib/formdata.h#L51 for details
66
+ # https://github.com/curl/curl/blob/master/lib/formdata.h#L51 for details
39
67
  FormOption = enum(:form_option, form_options)
40
68
 
41
69
  # :nodoc:
@@ -59,8 +87,26 @@ module Ethon
59
87
  VERSION_NTLM_WB = (1<<15) # NTLM delegating to winbind helper
60
88
  VERSION_HTTP2 = (1<<16) # HTTP2 support built
61
89
  VERSION_GSSAPI = (1<<17) # GSS-API is supported
90
+ VERSION_KERBEROS5 = (1<<18) # Kerberos V5 auth is supported
91
+ VERSION_UNIX_SOCKETS = (1<<19) # Unix domain sockets support
92
+ VERSION_PSL = (1<<20) # Public Suffix List support
93
+ VERSION_HTTPS_PROXY = (1<<21) # HTTPS-proxy support built-in
94
+ VERSION_MULTI_SSL = (1<<22) # Multiple SSL backends available
95
+ VERSION_BROTLI = (1<<23) # Brotli features are present
96
+ VERSION_ALTSVC = (1<<24) # Alt-Svc handling built-in
97
+ VERSION_HTTP3 = (1<<25) # HTTP3 support built-in
98
+ VERSION_ZSTD = (1<<26) # zstd features are present
99
+ VERSION_UNICODE = (1<<27) # Unicode support on Windows
100
+ VERSION_HSTS = (1<<28) # HSTS is supported
101
+ VERSION_GSASL = (1<<29) # libgsasl is supported
102
+ VERSION_THREADSAFE = (1<<30) # libcurl API is thread-safe
62
103
 
63
- SOCKET_BAD = -1
104
+ # curl_socket_t is int on Unix and SOCKET (UINT_PTR) on Windows.
105
+ SOCKET_BAD = if Curl.windows?
106
+ (1 << (::FFI.type_size(:size_t) * 8)) - 1
107
+ else
108
+ -1
109
+ end
64
110
  SOCKET_TIMEOUT = SOCKET_BAD
65
111
 
66
112
  PollAction = enum(:poll_action, [
@@ -76,5 +122,16 @@ module Ethon
76
122
  :out, # CURL_CSELECT_OUT - 0x02 (bit 1)
77
123
  :err, # CURL_CSELECT_ERR - 0x04 (bit 2)
78
124
  ])
125
+
126
+ # Bitmasks for curl_easy_pause.
127
+ PAUSE_RECV = (1<<0)
128
+ PAUSE_SEND = (1<<2)
129
+ PAUSE_ALL = (PAUSE_RECV | PAUSE_SEND)
130
+ PAUSE_CONT = 0
131
+
132
+ # Event bits for curl_multi_wait/curl_multi_poll.
133
+ WAIT_POLLIN = 0x0001
134
+ WAIT_POLLPRI = 0x0002
135
+ WAIT_POLLOUT = 0x0004
79
136
  end
80
137
  end
@@ -6,7 +6,7 @@ module Ethon
6
6
  module FormOptions
7
7
 
8
8
  # Form options, used by FormAdd for temporary storage, refer
9
- # https://github.com/bagder/curl/blob/master/lib/formdata.h#L51 for details
9
+ # https://github.com/curl/curl/blob/master/lib/formdata.h#L51 for details
10
10
  def form_options
11
11
  [
12
12
  :none,
@@ -29,6 +29,7 @@ module Ethon
29
29
  :end,
30
30
  :obsolete2,
31
31
  :stream,
32
+ :contentlen,
32
33
  :last
33
34
  ]
34
35
  end
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+ require 'ethon/curls/optional'
3
+ module Ethon
4
+ module Curls
5
+
6
+ # This module contains the functions to be attached in order to work with
7
+ # libcurl.
8
+ module Functions
9
+
10
+ # :nodoc:
11
+ def self.extended(base)
12
+ base.attach_function :global_init, :curl_global_init, [:long], :int
13
+ base.attach_function :global_cleanup, :curl_global_cleanup, [], :void
14
+ base.attach_function :free, :curl_free, [:pointer], :void
15
+
16
+ Ethon::Curls::Optional.attach(base, :easy_header, :curl_easy_header, [:pointer, :string, :size_t, :uint, :int, :pointer], :header_code, blocking: false)
17
+ Ethon::Curls::Optional.attach(base, :easy_nextheader, :curl_easy_nextheader, [:pointer, :uint, :int, :pointer], Curl::HeaderData.ptr, blocking: false)
18
+ Ethon::Curls::Optional.attach(base, :easy_option_by_name, :curl_easy_option_by_name, [:string], Curl::EasyOptionInfo.ptr, blocking: false)
19
+ Ethon::Curls::Optional.attach(base, :easy_option_by_id, :curl_easy_option_by_id, [:easy_option], Curl::EasyOptionInfo.ptr, blocking: false)
20
+ Ethon::Curls::Optional.attach(base, :easy_option_next, :curl_easy_option_next, [:pointer], Curl::EasyOptionInfo.ptr, blocking: false)
21
+
22
+ base.attach_function :easy_init, :curl_easy_init, [], :pointer
23
+ base.attach_function :easy_cleanup, :curl_easy_cleanup, [:pointer], :void, blocking: true
24
+ base.attach_function :easy_getinfo, :curl_easy_getinfo, [:pointer, :info, :varargs], :easy_code
25
+ base.attach_function :easy_setopt, :curl_easy_setopt, [:pointer, :easy_option, :varargs], :easy_code
26
+ base.instance_variable_set(:@blocking, true)
27
+ base.attach_function :easy_perform, :curl_easy_perform, [:pointer], :easy_code
28
+ base.attach_function :easy_strerror, :curl_easy_strerror, [:easy_code], :string
29
+ base.attach_function :easy_escape, :curl_easy_escape, [:pointer, :pointer, :int], :pointer
30
+ base.attach_function :easy_reset, :curl_easy_reset, [:pointer], :void
31
+ Ethon::Curls::Optional.attach(base, :easy_duphandle, :curl_easy_duphandle, [:pointer], :pointer, blocking: false)
32
+
33
+ Ethon::Curls::Optional.attach(base, :url, :curl_url, [], :pointer, blocking: false)
34
+ Ethon::Curls::Optional.attach(base, :url_cleanup, :curl_url_cleanup, [:pointer], :void, blocking: false)
35
+ Ethon::Curls::Optional.attach(base, :url_dup, :curl_url_dup, [:pointer], :pointer, blocking: false)
36
+ Ethon::Curls::Optional.attach(base, :url_get, :curl_url_get, [:pointer, :url_part, :pointer, :url_flags], :url_code, blocking: false)
37
+ Ethon::Curls::Optional.attach(base, :url_set, :curl_url_set, [:pointer, :url_part, :string, :url_flags], :url_code, blocking: false)
38
+ Ethon::Curls::Optional.attach(base, :url_strerror, :curl_url_strerror, [:url_code], :string, blocking: false)
39
+
40
+ # The form API is deprecated and absent from builds configured with
41
+ # --disable-form-api. Attach it when present so Ethon still loads.
42
+ Ethon::Curls::Optional.attach(base, :formadd, :curl_formadd, [:pointer, :pointer, :varargs], :int)
43
+ Ethon::Curls::Optional.attach(base, :formfree, :curl_formfree, [:pointer], :void)
44
+
45
+ Ethon::Curls::Optional.attach(base, :share_init, :curl_share_init, [], :pointer, blocking: false)
46
+ Ethon::Curls::Optional.attach(base, :share_cleanup, :curl_share_cleanup, [:pointer], :share_code, blocking: false)
47
+ Ethon::Curls::Optional.attach(base, :share_setopt, :curl_share_setopt, [:pointer, :share_option, :varargs], :share_code, blocking: false)
48
+ Ethon::Curls::Optional.attach(base, :share_strerror, :curl_share_strerror, [:share_code], :string, blocking: false)
49
+
50
+ base.attach_function :multi_init, :curl_multi_init, [], :pointer
51
+ base.attach_function :multi_cleanup, :curl_multi_cleanup, [:pointer], :void, blocking: true
52
+ base.attach_function :multi_add_handle, :curl_multi_add_handle, [:pointer, :pointer], :multi_code
53
+ base.attach_function :multi_remove_handle, :curl_multi_remove_handle, [:pointer, :pointer], :multi_code, blocking: true
54
+ base.attach_function :multi_info_read, :curl_multi_info_read, [:pointer, :pointer], Curl::Msg.ptr
55
+ base.attach_function :multi_perform, :curl_multi_perform, [:pointer, :pointer], :multi_code, blocking: true
56
+ base.attach_function :multi_timeout, :curl_multi_timeout, [:pointer, :pointer], :multi_code
57
+ base.attach_function :multi_fdset, :curl_multi_fdset, [:pointer, Curl::FDSet.ptr, Curl::FDSet.ptr, Curl::FDSet.ptr, :pointer], :multi_code
58
+ base.attach_function :multi_strerror, :curl_multi_strerror, [:multi_code], :string
59
+ base.attach_function :multi_setopt, :curl_multi_setopt, [:pointer, :multi_option, :varargs], :multi_code
60
+ base.attach_function :multi_socket_action, :curl_multi_socket_action, [:pointer, :curl_socket_t, :socket_readiness, :pointer], :multi_code, blocking: true
61
+ base.attach_function :multi_assign, :curl_multi_assign, [:pointer, :curl_socket_t, :pointer], :multi_code
62
+
63
+ Ethon::Curls::Optional.attach(base, :multi_get_handles, :curl_multi_get_handles, [:pointer], :pointer, blocking: false)
64
+ Ethon::Curls::Optional.attach(base, :global_sslset, :curl_global_sslset, [:ssl_backend, :string, :pointer], :ssl_set_code, blocking: false)
65
+ Ethon::Curls::Optional.attach(base, :global_trace, :curl_global_trace, [:string], :easy_code, blocking: false)
66
+
67
+ base.attach_function :version, :curl_version, [], :string
68
+ base.attach_function :curl_version_info, :curl_version_info, [:int], Curl::VersionInfoData.ptr
69
+
70
+ Ethon::Curls::Optional.attach(base, :mime_init, :curl_mime_init, [:pointer], :pointer, blocking: false)
71
+ Ethon::Curls::Optional.attach(base, :mime_free, :curl_mime_free, [:pointer], :void, blocking: false)
72
+ Ethon::Curls::Optional.attach(base, :mime_addpart, :curl_mime_addpart, [:pointer], :pointer, blocking: false)
73
+ Ethon::Curls::Optional.attach(base, :mime_name, :curl_mime_name, [:pointer, :string], :easy_code, blocking: false)
74
+ Ethon::Curls::Optional.attach(base, :mime_filename, :curl_mime_filename, [:pointer, :string], :easy_code, blocking: false)
75
+ Ethon::Curls::Optional.attach(base, :mime_type, :curl_mime_type, [:pointer, :string], :easy_code, blocking: false)
76
+ Ethon::Curls::Optional.attach(base, :mime_encoder, :curl_mime_encoder, [:pointer, :string], :easy_code, blocking: false)
77
+ Ethon::Curls::Optional.attach(base, :mime_data, :curl_mime_data, [:pointer, :pointer, :size_t], :easy_code, blocking: false)
78
+ Ethon::Curls::Optional.attach(base, :mime_filedata, :curl_mime_filedata, [:pointer, :string], :easy_code, blocking: false)
79
+ Ethon::Curls::Optional.attach(base, :mime_headers, :curl_mime_headers, [:pointer, :pointer, :int], :easy_code, blocking: false)
80
+
81
+ base.attach_function :slist_append, :curl_slist_append, [:pointer, :string], :pointer
82
+ base.attach_function :slist_free_all, :curl_slist_free_all, [:pointer], :void
83
+ base.instance_variable_set(:@blocking, true)
84
+
85
+ Ethon::Curls::Optional.attach(base, :easy_unescape, :curl_easy_unescape, [:pointer, :pointer, :int, :pointer], :pointer, blocking: false)
86
+ Ethon::Curls::Optional.attach(base, :easy_pause, :curl_easy_pause, [:pointer, :int], :easy_code, blocking: false)
87
+ Ethon::Curls::Optional.attach(base, :easy_send, :curl_easy_send, [:pointer, :pointer, :size_t, :pointer], :easy_code, blocking: false)
88
+ Ethon::Curls::Optional.attach(base, :easy_recv, :curl_easy_recv, [:pointer, :pointer, :size_t, :pointer], :easy_code, blocking: false)
89
+ Ethon::Curls::Optional.attach(base, :multi_wait, :curl_multi_wait, [:pointer, :pointer, :uint, :int, :pointer], :multi_code, blocking: true)
90
+ Ethon::Curls::Optional.attach(base, :easy_upkeep, :curl_easy_upkeep, [:pointer], :easy_code, blocking: false)
91
+ Ethon::Curls::Optional.attach(base, :multi_poll, :curl_multi_poll, [:pointer, :pointer, :uint, :int, :pointer], :multi_code, blocking: true)
92
+ Ethon::Curls::Optional.attach(base, :multi_wakeup, :curl_multi_wakeup, [:pointer], :multi_code, blocking: false)
93
+
94
+ if Curl.windows?
95
+ base.ffi_lib 'ws2_32'
96
+ else
97
+ base.ffi_lib ::FFI::Library::LIBC
98
+ end
99
+
100
+ # select() blocks for the multi timeout. Release the GVL so other Ruby
101
+ # threads can run while the select fallback is waiting.
102
+ base.attach_function :select, [:int, Curl::FDSet.ptr, Curl::FDSet.ptr, Curl::FDSet.ptr, Curl::Timeval.ptr], :int, blocking: true
103
+ end
104
+
105
+ end
106
+ end
107
+ end
@@ -17,12 +17,15 @@ module Ethon
17
17
  :string =>0x100000,
18
18
  :long => 0x200000,
19
19
  :double =>0x300000,
20
- :slist => 0x400000
20
+ :slist => 0x400000,
21
+ :ptr => 0x400000,
22
+ :socket =>0x500000,
23
+ :off_t => 0x600000
21
24
  }
22
25
  end
23
26
 
24
- # http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTDEBUGFUNCTION
25
- # https://github.com/bagder/curl/blob/master/include/curl/curl.h#L378
27
+ # https://curl.se/libcurl/c/CURLOPT_DEBUGFUNCTION.html
28
+ # https://github.com/curl/curl/blob/master/include/curl/curl.h#L378
26
29
  #
27
30
  # @example Return debug info types.
28
31
  # Ethon::Curl.debug_info_types
@@ -41,7 +44,7 @@ module Ethon
41
44
  end
42
45
 
43
46
  # Return Info details, refer
44
- # https://github.com/bagder/curl/blob/master/src/tool_writeout.c#L66 for details
47
+ # https://github.com/curl/curl/blob/master/src/tool_writeout.c#L66 for details
45
48
  #
46
49
  # @example Return infos.
47
50
  # Ethon::Curl.infos
@@ -49,6 +52,40 @@ module Ethon
49
52
  # @return [ Hash ] The infos.
50
53
  def infos
51
54
  {
55
+ :size_upload_t => info_types[:off_t] + 7,
56
+ :size_download_t => info_types[:off_t] + 8,
57
+ :speed_download_t => info_types[:off_t] + 9,
58
+ :speed_upload_t => info_types[:off_t] + 10,
59
+ :filetime_t => info_types[:off_t] + 14,
60
+ :content_length_download_t =>info_types[:off_t] + 15,
61
+ :content_length_upload_t =>info_types[:off_t] + 16,
62
+ :http_version => info_types[:long] + 46,
63
+ :proxy_ssl_verifyresult => info_types[:long] + 47,
64
+ :scheme => info_types[:string] + 49,
65
+ :total_time_t => info_types[:off_t] + 50,
66
+ :namelookup_time_t => info_types[:off_t] + 51,
67
+ :connect_time_t => info_types[:off_t] + 52,
68
+ :pretransfer_time_t => info_types[:off_t] + 53,
69
+ :starttransfer_time_t => info_types[:off_t] + 54,
70
+ :redirect_time_t => info_types[:off_t] + 55,
71
+ :appconnect_time_t => info_types[:off_t] + 56,
72
+ :retry_after => info_types[:off_t] + 57,
73
+ :effective_method => info_types[:string] + 58,
74
+ :proxy_error => info_types[:long] + 59,
75
+ :referer => info_types[:string] + 60,
76
+ :cainfo => info_types[:string] + 61,
77
+ :capath => info_types[:string] + 62,
78
+ :xfer_id => info_types[:off_t] + 63,
79
+ :conn_id => info_types[:off_t] + 64,
80
+ :queue_time_t => info_types[:off_t] + 65,
81
+ :used_proxy => info_types[:long] + 66,
82
+ :posttransfer_time_t => info_types[:off_t] + 67,
83
+ :earlydata_sent_t => info_types[:off_t] + 68,
84
+ :httpauth_used => info_types[:long] + 69,
85
+ :proxyauth_used => info_types[:long] + 70,
86
+ :size_delivered => info_types[:off_t] + 71,
87
+ :activesocket => info_types[:socket] + 44,
88
+ :tls_ssl_ptr => info_types[:ptr] + 45,
52
89
  :effective_url => info_types[:string] + 1,
53
90
  :response_code => info_types[:long] + 2,
54
91
  :total_time => info_types[:double] + 3,
@@ -91,7 +128,7 @@ module Ethon
91
128
  :primary_port => info_types[:long] + 40,
92
129
  :local_ip => info_types[:string] + 41,
93
130
  :local_port => info_types[:long] + 42,
94
- :last =>42
131
+ :last =>71
95
132
  }
96
133
  end
97
134
 
@@ -146,6 +183,68 @@ module Ethon
146
183
  double_ptr.read_double
147
184
  end
148
185
  end
186
+
187
+ # Return info as a 64-bit integer (curl_off_t).
188
+ def get_info_off_t(option, handle)
189
+ int64_ptr = ::FFI::MemoryPointer.new(:int64)
190
+
191
+ if easy_getinfo(handle, option, :pointer, int64_ptr) == :ok
192
+ int64_ptr.read_int64
193
+ end
194
+ end
195
+
196
+ # Return info as a curl_socket_t.
197
+ def get_info_socket(option, handle)
198
+ if Curl.windows?
199
+ ptr = ::FFI::MemoryPointer.new(:size_t)
200
+ return unless easy_getinfo(handle, option, :pointer, ptr) == :ok
201
+ ::FFI.type_size(:size_t) == 8 ? ptr.read_uint64 : ptr.read_uint32
202
+ else
203
+ ptr = ::FFI::MemoryPointer.new(:int)
204
+ ptr.read_int if easy_getinfo(handle, option, :pointer, ptr) == :ok
205
+ end
206
+ end
207
+
208
+ # Return info as a raw pointer.
209
+ def get_info_ptr(option, handle)
210
+ ptr = ::FFI::MemoryPointer.new(:pointer)
211
+
212
+ if easy_getinfo(handle, option, :pointer, ptr) == :ok
213
+ value = ptr.read_pointer
214
+ value unless value.null?
215
+ end
216
+ end
217
+
218
+ # Return info as array of strings.
219
+ #
220
+ # @example Return info.
221
+ # Curl.get_info_slist(:ssl_engines, easy)
222
+ #
223
+ # @param [ Symbol ] option The option name.
224
+ # @param [ ::FFI::Pointer ] handle The easy handle.
225
+ #
226
+ # @return [ Array ] The info.
227
+ def get_info_slist(option, handle)
228
+ result = ::FFI::MemoryPointer.new(:pointer)
229
+ return unless easy_getinfo(handle, option, :pointer, result) == :ok
230
+
231
+ pointer = result.read_pointer
232
+ return [] if pointer.null?
233
+
234
+ list = Curl::Slist.new(pointer)
235
+ list.to_a
236
+ ensure
237
+ list.free if list
238
+ end
239
+
240
+ # Return certificate information copied from libcurl-owned memory.
241
+ def get_info_certinfo(option, handle)
242
+ result = ::FFI::MemoryPointer.new(:pointer)
243
+ return unless easy_getinfo(handle, option, :pointer, result) == :ok
244
+
245
+ pointer = result.read_pointer
246
+ pointer.null? ? [] : Curl::Certinfo.new(pointer).to_a
247
+ end
149
248
  end
150
249
  end
151
250
  end
@@ -0,0 +1,139 @@
1
+ # frozen_string_literal: true
2
+ module Ethon
3
+ module Curl
4
+ class << self
5
+ # Look up a libcurl option by name.
6
+ #
7
+ # @param [ String, Symbol ] name The CURLOPT name.
8
+ #
9
+ # @return [ EasyOptionInfo, nil ] The option metadata.
10
+ def easy_option(name)
11
+ return unless respond_to?(:easy_option_by_name)
12
+
13
+ info = easy_option_by_name(name.to_s)
14
+ info.null? ? nil : info
15
+ end
16
+
17
+ # Look up a libcurl option by numeric id.
18
+ #
19
+ # @param [ Integer, Symbol ] id The CURLoption id or name.
20
+ #
21
+ # @return [ EasyOptionInfo, nil ] The option metadata.
22
+ def option_by_id(id)
23
+ return unless respond_to?(:easy_option_by_id)
24
+
25
+ info = easy_option_by_id(id)
26
+ info.null? ? nil : info
27
+ end
28
+
29
+ # Enumerate all libcurl option metadata.
30
+ #
31
+ # @return [ Enumerator, Array ] The metadata.
32
+ def each_easy_option
33
+ unless respond_to?(:easy_option_next)
34
+ raise NotImplementedError, "curl_easy_option_next is not supported by this libcurl"
35
+ end
36
+ return enum_for(:each_easy_option) unless block_given?
37
+
38
+ info = easy_option_next(::FFI::Pointer::NULL)
39
+ until info.null?
40
+ yield info
41
+ info = easy_option_next(info)
42
+ end
43
+ self
44
+ end
45
+
46
+ def easy_option_list
47
+ each_easy_option.to_a
48
+ end
49
+
50
+ # The full version info struct when the runtime supports it.
51
+ #
52
+ # @return [ VersionInfoDataFull, nil ] The full version metadata.
53
+ def version_info_full
54
+ info = version_info
55
+ return unless info && info[:curl_version] >= CURLVERSION_ELEVENTH
56
+
57
+ VersionInfoDataFull.new(info.to_ptr)
58
+ end
59
+
60
+ # Protocols supported by the loaded libcurl.
61
+ #
62
+ # @return [ Array<String> ] Protocol names.
63
+ def protocols
64
+ string_array(version_info[:protocols])
65
+ end
66
+
67
+ # Return whether libcurl knows an option.
68
+ #
69
+ # Easy options are checked against libcurl's own option table on 7.73.0
70
+ # and newer. Older versions cannot answer that question, so it returns
71
+ # `true` for every option Ethon knows. Multi options are only checked
72
+ # against Ethon's table, because libcurl does not expose multi option
73
+ # metadata.
74
+ #
75
+ # @param [ String, Symbol ] name The CURLOPT_* name without the prefix.
76
+ # @param [ Symbol ] type :easy or :multi.
77
+ #
78
+ # @return [ Boolean ] True when the option is available.
79
+ def supports_option?(name, type = :easy)
80
+ name = name.to_sym if name.is_a?(String)
81
+ options = type == :multi ? multi_options(nil) : easy_options(nil)
82
+ option = options[name]
83
+ return false unless option
84
+
85
+ if type == :easy && respond_to?(:easy_option_by_id)
86
+ # Resolve by id so Ethon aliases such as :unix_socket are reported
87
+ # correctly; libcurl's by-name lookup only knows canonical names.
88
+ !easy_option_by_id(option[:opt]).null?
89
+ else
90
+ true
91
+ end
92
+ end
93
+
94
+ # Check the loaded libcurl version against a dotted version number.
95
+ #
96
+ # @example
97
+ # Ethon::Curl.version_at_least?("7.66.0")
98
+ #
99
+ # @param [ String ] version The version to compare, for example "7.66.0".
100
+ #
101
+ # @return [ Boolean ] True when libcurl is at least that version.
102
+ def version_at_least?(version)
103
+ parts = version.to_s.split(".").map(&:to_i)
104
+ required = (parts[0].to_i << 16) | (parts[1].to_i << 8) | parts[2].to_i
105
+ version_info[:version_num] >= required
106
+ end
107
+
108
+ # Feature names supported by the loaded libcurl.
109
+ #
110
+ # @return [ Array<String> ] Feature names.
111
+ def feature_names
112
+ info = version_info_full
113
+ return [] unless info
114
+
115
+ string_array(info[:feature_names])
116
+ end
117
+
118
+ # Read a NULL-terminated array of C strings.
119
+ #
120
+ # @param [ FFI::Pointer, nil ] pointer The array pointer.
121
+ #
122
+ # @return [ Array<String> ] The strings.
123
+ def string_array(pointer)
124
+ return [] if pointer.nil? || pointer.null?
125
+
126
+ strings = []
127
+ offset = 0
128
+ loop do
129
+ string = pointer.get_pointer(offset)
130
+ break if string.null?
131
+
132
+ strings << string.read_string
133
+ offset += ::FFI.type_size(:pointer)
134
+ end
135
+ strings
136
+ end
137
+ end
138
+ end
139
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+ module Ethon
3
+ module Curl
4
+ # The struct age at which curl_version_info_data exposes feature_names.
5
+ CURLVERSION_ELEVENTH = 10
6
+
7
+ # CURLHcode values.
8
+ HeaderCode = enum(:header_code, [
9
+ :ok,
10
+ :badindex,
11
+ :missing,
12
+ :noheaders,
13
+ :norequest,
14
+ :out_of_memory,
15
+ :bad_argument,
16
+ :not_built_in
17
+ ])
18
+
19
+ # CURLH_* origin bits.
20
+ HeaderOrigin = bitmask(:header_origin, [
21
+ nil,
22
+ :header,
23
+ :trailer,
24
+ :connect,
25
+ :"1xx",
26
+ :pseudo
27
+ ])
28
+
29
+ # curl_easytype values used by curl_easy_option_*.
30
+ EasyType = enum(:easy_type, [
31
+ :long,
32
+ :values,
33
+ :off_t,
34
+ :object,
35
+ :string,
36
+ :slist,
37
+ :cbptr,
38
+ :blob,
39
+ :function
40
+ ])
41
+ end
42
+ end