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.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -5
- data/README.md +5 -5
- data/docs/CreateEventStreamBody.md +2 -0
- data/docs/CreateProjectNormalizedPayload.md +18 -0
- data/docs/EventStream.md +2 -0
- data/docs/LoginFlowTestDebugPayload.md +2 -0
- data/docs/NormalizedProjectRevision.md +18 -0
- data/docs/OnboardingPortalOrganization.md +2 -0
- data/docs/QuotaUsage.md +1 -1
- data/docs/SetEventStreamBody.md +2 -0
- data/docs/UpdateLoginFlowWithLookupSecretMethod.md +3 -1
- data/docs/UpdateLoginFlowWithPasskeyMethod.md +3 -1
- data/lib/ory-client/api/api_keys_api.rb +1 -1
- data/lib/ory-client/api/courier_api.rb +1 -1
- data/lib/ory-client/api/elements_api.rb +1 -1
- data/lib/ory-client/api/events_api.rb +1 -1
- data/lib/ory-client/api/frontend_api.rb +1 -1
- data/lib/ory-client/api/identity_api.rb +1 -1
- data/lib/ory-client/api/jwk_api.rb +1 -1
- data/lib/ory-client/api/metadata_api.rb +1 -1
- data/lib/ory-client/api/o_auth2_api.rb +1 -1
- data/lib/ory-client/api/oidc_api.rb +1 -1
- data/lib/ory-client/api/permission_api.rb +1 -1
- data/lib/ory-client/api/project_api.rb +1 -1
- data/lib/ory-client/api/relationship_api.rb +1 -1
- data/lib/ory-client/api/wellknown_api.rb +1 -1
- data/lib/ory-client/api/workspace_api.rb +1 -1
- data/lib/ory-client/api_client.rb +2 -2
- data/lib/ory-client/api_error.rb +1 -1
- data/lib/ory-client/api_model_base.rb +1 -1
- data/lib/ory-client/configuration.rb +1 -1
- data/lib/ory-client/models/accept_device_user_code_request.rb +1 -1
- data/lib/ory-client/models/accept_o_auth2_consent_request.rb +1 -1
- data/lib/ory-client/models/accept_o_auth2_consent_request_session.rb +1 -1
- data/lib/ory-client/models/accept_o_auth2_login_request.rb +1 -1
- data/lib/ory-client/models/account_experience_colors.rb +1 -1
- data/lib/ory-client/models/account_experience_configuration.rb +1 -1
- data/lib/ory-client/models/add_project_to_workspace_body.rb +1 -1
- data/lib/ory-client/models/add_workspace_organization_domain_body.rb +1 -1
- data/lib/ory-client/models/admin_identity_import_credentials_lookup_secret.rb +1 -1
- data/lib/ory-client/models/admin_identity_import_credentials_lookup_secret_config.rb +1 -1
- data/lib/ory-client/models/admin_revoke_imported_api_key_body.rb +1 -1
- data/lib/ory-client/models/admin_revoke_issued_api_key_body.rb +1 -1
- data/lib/ory-client/models/admin_rotate_issued_api_key_body.rb +1 -1
- data/lib/ory-client/models/admin_update_imported_api_key_request.rb +1 -1
- data/lib/ory-client/models/admin_update_issued_api_key_request.rb +1 -1
- data/lib/ory-client/models/ai_assistant_session_token.rb +1 -1
- data/lib/ory-client/models/any.rb +1 -1
- data/lib/ory-client/models/attribute.rb +1 -1
- data/lib/ory-client/models/attribute_filter.rb +1 -1
- data/lib/ory-client/models/attributes_count_datapoint.rb +1 -1
- data/lib/ory-client/models/authenticator_assurance_level.rb +1 -1
- data/lib/ory-client/models/basic_organization.rb +1 -1
- data/lib/ory-client/models/batch_check_permission_body.rb +1 -1
- data/lib/ory-client/models/batch_check_permission_result.rb +1 -1
- data/lib/ory-client/models/batch_create_imported_api_keys_error_code.rb +1 -1
- data/lib/ory-client/models/batch_create_imported_api_keys_request.rb +1 -1
- data/lib/ory-client/models/batch_create_imported_api_keys_response.rb +1 -1
- data/lib/ory-client/models/batch_create_imported_api_keys_result.rb +1 -1
- data/lib/ory-client/models/batch_patch_identities_response.rb +1 -1
- data/lib/ory-client/models/batch_verify_api_keys_request.rb +1 -1
- data/lib/ory-client/models/batch_verify_api_keys_response.rb +1 -1
- data/lib/ory-client/models/billing_period_bucket.rb +1 -1
- data/lib/ory-client/models/check_opl_syntax_result.rb +1 -1
- data/lib/ory-client/models/check_permission_result.rb +1 -1
- data/lib/ory-client/models/check_permission_result_with_error.rb +1 -1
- data/lib/ory-client/models/cloud_account.rb +1 -1
- data/lib/ory-client/models/continue_with.rb +1 -1
- data/lib/ory-client/models/continue_with_device_authn_pin_entry_ui.rb +1 -1
- data/lib/ory-client/models/continue_with_device_authn_pin_entry_ui_data.rb +1 -1
- data/lib/ory-client/models/continue_with_recovery_ui.rb +1 -1
- data/lib/ory-client/models/continue_with_recovery_ui_flow.rb +1 -1
- data/lib/ory-client/models/continue_with_redirect_browser_to.rb +1 -1
- data/lib/ory-client/models/continue_with_set_ory_session_token.rb +1 -1
- data/lib/ory-client/models/continue_with_settings_ui.rb +1 -1
- data/lib/ory-client/models/continue_with_settings_ui_flow.rb +1 -1
- data/lib/ory-client/models/continue_with_verification_ui.rb +1 -1
- data/lib/ory-client/models/continue_with_verification_ui_flow.rb +1 -1
- data/lib/ory-client/models/courier_message_status.rb +1 -1
- data/lib/ory-client/models/courier_message_type.rb +1 -1
- data/lib/ory-client/models/create_custom_domain_body.rb +1 -1
- data/lib/ory-client/models/create_event_stream_body.rb +14 -2
- data/lib/ory-client/models/create_fedcm_flow_response.rb +1 -1
- data/lib/ory-client/models/create_identity_body.rb +1 -1
- data/lib/ory-client/models/create_invite_response.rb +1 -1
- data/lib/ory-client/models/create_json_web_key_set.rb +1 -1
- data/lib/ory-client/models/create_onboarding_link_response.rb +1 -1
- data/lib/ory-client/models/create_organization_onboarding_portal_link_body.rb +1 -1
- data/lib/ory-client/models/create_project_api_key_body.rb +1 -1
- data/lib/ory-client/models/create_project_body.rb +1 -1
- data/lib/ory-client/models/create_project_branding.rb +1 -1
- data/lib/ory-client/models/create_project_member_invite_body.rb +1 -1
- data/lib/ory-client/models/create_project_normalized_payload.rb +92 -2
- data/lib/ory-client/models/create_recovery_code_for_identity_body.rb +1 -1
- data/lib/ory-client/models/create_recovery_link_for_identity_body.rb +1 -1
- data/lib/ory-client/models/create_relationship_body.rb +1 -1
- data/lib/ory-client/models/create_subscription_body.rb +1 -1
- data/lib/ory-client/models/create_subscription_common.rb +1 -1
- data/lib/ory-client/models/create_test_login_flow_body.rb +1 -1
- data/lib/ory-client/models/create_test_login_flow_from_onboarding_portal_link_body.rb +1 -1
- data/lib/ory-client/models/create_verifiable_credential_request_body.rb +1 -1
- data/lib/ory-client/models/create_workspace_api_key_body.rb +1 -1
- data/lib/ory-client/models/create_workspace_body.rb +1 -1
- data/lib/ory-client/models/create_workspace_contact_body.rb +1 -1
- data/lib/ory-client/models/create_workspace_member_invite_body.rb +1 -1
- data/lib/ory-client/models/create_workspace_organization_body.rb +1 -1
- data/lib/ory-client/models/create_workspace_subscription_body.rb +1 -1
- data/lib/ory-client/models/credential_supported_draft00.rb +1 -1
- data/lib/ory-client/models/custom_domain.rb +1 -1
- data/lib/ory-client/models/customer_portal_availability.rb +1 -1
- data/lib/ory-client/models/delete_my_sessions_count.rb +1 -1
- data/lib/ory-client/models/derive_token_request.rb +1 -1
- data/lib/ory-client/models/derive_token_response.rb +1 -1
- data/lib/ory-client/models/device_authn_android_authorization_list.rb +1 -1
- data/lib/ory-client/models/device_authn_android_key_description.rb +1 -1
- data/lib/ory-client/models/device_authn_android_root_of_trust.rb +1 -1
- data/lib/ory-client/models/device_authn_attestation.rb +1 -1
- data/lib/ory-client/models/device_authn_ios_att_stmt.rb +1 -1
- data/lib/ory-client/models/device_authn_ios_attestation.rb +1 -1
- data/lib/ory-client/models/device_authn_key.rb +1 -1
- data/lib/ory-client/models/device_authorization.rb +1 -1
- data/lib/ory-client/models/device_type.rb +1 -1
- data/lib/ory-client/models/device_user_auth_request.rb +1 -1
- data/lib/ory-client/models/domain_verification_status.rb +1 -1
- data/lib/ory-client/models/elements_configuration.rb +1 -1
- data/lib/ory-client/models/email_template_data.rb +1 -1
- data/lib/ory-client/models/email_template_data_body.rb +1 -1
- data/lib/ory-client/models/error_authenticator_assurance_level_not_satisfied.rb +1 -1
- data/lib/ory-client/models/error_browser_location_change_required.rb +1 -1
- data/lib/ory-client/models/error_flow_replaced.rb +1 -1
- data/lib/ory-client/models/error_generic.rb +1 -1
- data/lib/ory-client/models/error_o_auth2.rb +1 -1
- data/lib/ory-client/models/event_stream.rb +14 -2
- data/lib/ory-client/models/expanded_permission_tree.rb +1 -1
- data/lib/ory-client/models/feature_flags_catalog_entry.rb +1 -1
- data/lib/ory-client/models/flow_error.rb +1 -1
- data/lib/ory-client/models/generic_error.rb +1 -1
- data/lib/ory-client/models/generic_error_content.rb +1 -1
- data/lib/ory-client/models/generic_oidc_provider.rb +1 -1
- data/lib/ory-client/models/generic_usage.rb +1 -1
- data/lib/ory-client/models/get_attributes_count.rb +1 -1
- data/lib/ory-client/models/get_jwks_response.rb +1 -1
- data/lib/ory-client/models/get_jwks_response_jwks.rb +1 -1
- data/lib/ory-client/models/get_jwks_response_jwks_keys_inner.rb +1 -1
- data/lib/ory-client/models/get_managed_identity_schema_location.rb +1 -1
- data/lib/ory-client/models/get_metrics_count.rb +1 -1
- data/lib/ory-client/models/get_metrics_event_attributes.rb +1 -1
- data/lib/ory-client/models/get_metrics_event_types.rb +1 -1
- data/lib/ory-client/models/get_organization_response.rb +1 -1
- data/lib/ory-client/models/get_organizations_by_hostname_response.rb +1 -1
- data/lib/ory-client/models/get_project_events.rb +1 -1
- data/lib/ory-client/models/get_project_events_body.rb +1 -1
- data/lib/ory-client/models/get_project_metrics.rb +1 -1
- data/lib/ory-client/models/get_session_activity.rb +1 -1
- data/lib/ory-client/models/get_version200_response.rb +1 -1
- data/lib/ory-client/models/health_not_ready_status.rb +1 -1
- data/lib/ory-client/models/health_status.rb +1 -1
- data/lib/ory-client/models/identity.rb +1 -1
- data/lib/ory-client/models/identity_credentials.rb +1 -1
- data/lib/ory-client/models/identity_credentials_code.rb +1 -1
- data/lib/ory-client/models/identity_credentials_code_address.rb +1 -1
- data/lib/ory-client/models/identity_credentials_lookup_secret_code.rb +1 -1
- data/lib/ory-client/models/identity_credentials_oidc.rb +1 -1
- data/lib/ory-client/models/identity_credentials_oidc_provider.rb +1 -1
- data/lib/ory-client/models/identity_credentials_password.rb +1 -1
- data/lib/ory-client/models/identity_credentials_web_authn.rb +1 -1
- data/lib/ory-client/models/identity_credentials_web_authn_attestation.rb +1 -1
- data/lib/ory-client/models/identity_credentials_web_authn_authenticator.rb +1 -1
- data/lib/ory-client/models/identity_credentials_web_authn_flags.rb +1 -1
- data/lib/ory-client/models/identity_patch.rb +1 -1
- data/lib/ory-client/models/identity_patch_response.rb +1 -1
- data/lib/ory-client/models/identity_schema_container.rb +1 -1
- data/lib/ory-client/models/identity_schema_preset.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_oidc.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_oidc_config.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_oidc_config_provider.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_passkey.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_passkey_config.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_password.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_password_config.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_saml.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_saml_config.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_saml_config_provider.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_totp.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_totp_config.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_web_authn.rb +1 -1
- data/lib/ory-client/models/identity_with_credentials_web_authn_config.rb +1 -1
- data/lib/ory-client/models/import_api_key_request.rb +1 -1
- data/lib/ory-client/models/imported_api_key.rb +1 -1
- data/lib/ory-client/models/internal_get_project_branding_body.rb +1 -1
- data/lib/ory-client/models/internal_is_ax_welcome_screen_enabled_for_project_body.rb +1 -1
- data/lib/ory-client/models/internal_is_owner_for_project_by_slug.rb +1 -1
- data/lib/ory-client/models/internal_is_owner_for_project_by_slug_body.rb +1 -1
- data/lib/ory-client/models/introspected_o_auth2_token.rb +1 -1
- data/lib/ory-client/models/invite_token_body.rb +1 -1
- data/lib/ory-client/models/invoice.rb +1 -1
- data/lib/ory-client/models/invoice_data_v1.rb +1 -1
- data/lib/ory-client/models/ip_restriction.rb +1 -1
- data/lib/ory-client/models/is_owner_for_project_by_slug.rb +1 -1
- data/lib/ory-client/models/issue_api_key_request.rb +1 -1
- data/lib/ory-client/models/issue_api_key_response.rb +1 -1
- data/lib/ory-client/models/issued_api_key.rb +1 -1
- data/lib/ory-client/models/json_patch.rb +1 -1
- data/lib/ory-client/models/json_web_key.rb +1 -1
- data/lib/ory-client/models/json_web_key_set.rb +1 -1
- data/lib/ory-client/models/keto_namespace.rb +1 -1
- data/lib/ory-client/models/key_state.rb +1 -1
- data/lib/ory-client/models/key_status.rb +1 -1
- data/lib/ory-client/models/key_visibility.rb +1 -1
- data/lib/ory-client/models/keyset_pagination_request_parameters.rb +1 -1
- data/lib/ory-client/models/keyset_pagination_response_headers.rb +1 -1
- data/lib/ory-client/models/line_item_v1.rb +1 -1
- data/lib/ory-client/models/list_event_streams.rb +1 -1
- data/lib/ory-client/models/list_imported_api_keys_response.rb +1 -1
- data/lib/ory-client/models/list_invoices_response.rb +1 -1
- data/lib/ory-client/models/list_issued_api_keys_response.rb +1 -1
- data/lib/ory-client/models/list_organizations_response.rb +1 -1
- data/lib/ory-client/models/list_workspace_contacts.rb +1 -1
- data/lib/ory-client/models/list_workspace_projects.rb +1 -1
- data/lib/ory-client/models/list_workspaces.rb +1 -1
- data/lib/ory-client/models/login_flow.rb +1 -1
- data/lib/ory-client/models/login_flow_state.rb +1 -1
- data/lib/ory-client/models/login_flow_test_context.rb +1 -1
- data/lib/ory-client/models/login_flow_test_debug_payload.rb +14 -2
- data/lib/ory-client/models/login_flow_test_schema_validation_error.rb +1 -1
- data/lib/ory-client/models/login_flow_test_step_error.rb +1 -1
- data/lib/ory-client/models/logout_flow.rb +1 -1
- data/lib/ory-client/models/manage_sessions_body.rb +1 -1
- data/lib/ory-client/models/manage_sessions_response.rb +1 -1
- data/lib/ory-client/models/managed_identity_schema.rb +1 -1
- data/lib/ory-client/models/managed_identity_schema_validation_result.rb +1 -1
- data/lib/ory-client/models/member_invite.rb +1 -1
- data/lib/ory-client/models/message.rb +1 -1
- data/lib/ory-client/models/message_dispatch.rb +1 -1
- data/lib/ory-client/models/metrics_datapoint.rb +1 -1
- data/lib/ory-client/models/namespace.rb +1 -1
- data/lib/ory-client/models/needs_privileged_session_error.rb +1 -1
- data/lib/ory-client/models/normalized_project.rb +1 -1
- data/lib/ory-client/models/normalized_project_revision.rb +92 -2
- data/lib/ory-client/models/normalized_project_revision_courier_channel.rb +1 -1
- data/lib/ory-client/models/normalized_project_revision_hook.rb +1 -1
- data/lib/ory-client/models/normalized_project_revision_identity_schema.rb +1 -1
- data/lib/ory-client/models/normalized_project_revision_saml_provider.rb +1 -1
- data/lib/ory-client/models/normalized_project_revision_scim_client.rb +1 -1
- data/lib/ory-client/models/normalized_project_revision_third_party_provider.rb +1 -1
- data/lib/ory-client/models/normalized_project_revision_tokenizer_template.rb +1 -1
- data/lib/ory-client/models/null_value.rb +1 -1
- data/lib/ory-client/models/o_auth2_client.rb +1 -1
- data/lib/ory-client/models/o_auth2_client_token_lifespans.rb +1 -1
- data/lib/ory-client/models/o_auth2_consent_request.rb +1 -1
- data/lib/ory-client/models/o_auth2_consent_request_open_id_connect_context.rb +1 -1
- data/lib/ory-client/models/o_auth2_consent_session.rb +1 -1
- data/lib/ory-client/models/o_auth2_login_request.rb +1 -1
- data/lib/ory-client/models/o_auth2_logout_request.rb +1 -1
- data/lib/ory-client/models/o_auth2_redirect_to.rb +1 -1
- data/lib/ory-client/models/o_auth2_token_exchange.rb +1 -1
- data/lib/ory-client/models/oidc_configuration.rb +1 -1
- data/lib/ory-client/models/oidc_user_info.rb +1 -1
- data/lib/ory-client/models/onboarding_portal_link.rb +1 -1
- data/lib/ory-client/models/onboarding_portal_organization.rb +31 -2
- data/lib/ory-client/models/onboarding_portal_test_login_flow.rb +1 -1
- data/lib/ory-client/models/opl_parse_error.rb +1 -1
- data/lib/ory-client/models/opl_source_position.rb +1 -1
- data/lib/ory-client/models/opl_validate_result.rb +1 -1
- data/lib/ory-client/models/organization.rb +1 -1
- data/lib/ory-client/models/organization_body.rb +1 -1
- data/lib/ory-client/models/organization_by_hostname.rb +1 -1
- data/lib/ory-client/models/organization_onboarding_portal_links_response.rb +1 -1
- data/lib/ory-client/models/parse_error.rb +1 -1
- data/lib/ory-client/models/patch_identities_body.rb +1 -1
- data/lib/ory-client/models/patch_workspace_contact_body.rb +1 -1
- data/lib/ory-client/models/patch_workspace_member_body.rb +1 -1
- data/lib/ory-client/models/perform_native_logout_body.rb +1 -1
- data/lib/ory-client/models/permissions_on_workspace.rb +1 -1
- data/lib/ory-client/models/pin_config.rb +1 -1
- data/lib/ory-client/models/plan_details.rb +1 -1
- data/lib/ory-client/models/post_check_permission_body.rb +1 -1
- data/lib/ory-client/models/post_check_permission_or_error_body.rb +1 -1
- data/lib/ory-client/models/project.rb +1 -1
- data/lib/ory-client/models/project_api_key.rb +1 -1
- data/lib/ory-client/models/project_branding.rb +1 -1
- data/lib/ory-client/models/project_branding_colors.rb +1 -1
- data/lib/ory-client/models/project_branding_theme.rb +1 -1
- data/lib/ory-client/models/project_cors.rb +1 -1
- data/lib/ory-client/models/project_events_datapoint.rb +1 -1
- data/lib/ory-client/models/project_host.rb +1 -1
- data/lib/ory-client/models/project_member.rb +1 -1
- data/lib/ory-client/models/project_metadata.rb +1 -1
- data/lib/ory-client/models/project_service_account_experience.rb +1 -1
- data/lib/ory-client/models/project_service_identity.rb +1 -1
- data/lib/ory-client/models/project_service_o_auth2.rb +1 -1
- data/lib/ory-client/models/project_service_permission.rb +1 -1
- data/lib/ory-client/models/project_service_talos.rb +1 -1
- data/lib/ory-client/models/project_services.rb +1 -1
- data/lib/ory-client/models/provider.rb +1 -1
- data/lib/ory-client/models/public_member_invite.rb +1 -1
- data/lib/ory-client/models/quota_usage.rb +4 -4
- data/lib/ory-client/models/rate_limit_policy.rb +1 -1
- data/lib/ory-client/models/recovery_code_for_identity.rb +1 -1
- data/lib/ory-client/models/recovery_flow.rb +1 -1
- data/lib/ory-client/models/recovery_flow_state.rb +1 -1
- data/lib/ory-client/models/recovery_identity_address.rb +1 -1
- data/lib/ory-client/models/recovery_link_for_identity.rb +1 -1
- data/lib/ory-client/models/registration_flow.rb +1 -1
- data/lib/ory-client/models/registration_flow_state.rb +1 -1
- data/lib/ory-client/models/reject_o_auth2_request.rb +1 -1
- data/lib/ory-client/models/relation_query.rb +1 -1
- data/lib/ory-client/models/relationship.rb +1 -1
- data/lib/ory-client/models/relationship_namespaces.rb +1 -1
- data/lib/ory-client/models/relationship_patch.rb +1 -1
- data/lib/ory-client/models/relationships.rb +1 -1
- data/lib/ory-client/models/revision_account_experience_custom_translation.rb +1 -1
- data/lib/ory-client/models/revocation_reason.rb +1 -1
- data/lib/ory-client/models/rfc6749_error_json.rb +1 -1
- data/lib/ory-client/models/rotate_issued_api_key_response.rb +1 -1
- data/lib/ory-client/models/rotate_o_auth2_client_secret_body.rb +1 -1
- data/lib/ory-client/models/rotate_talos_key_body.rb +1 -1
- data/lib/ory-client/models/schema_patch.rb +1 -1
- data/lib/ory-client/models/self_revoke_api_key_request.rb +1 -1
- data/lib/ory-client/models/self_service_flow_expired_error.rb +1 -1
- data/lib/ory-client/models/session.rb +1 -1
- data/lib/ory-client/models/session_activity_datapoint.rb +1 -1
- data/lib/ory-client/models/session_authentication_method.rb +1 -1
- data/lib/ory-client/models/session_device.rb +1 -1
- data/lib/ory-client/models/set_custom_domain_body.rb +1 -1
- data/lib/ory-client/models/set_event_stream_body.rb +14 -2
- data/lib/ory-client/models/set_organization_from_onboarding_portal_link_body.rb +1 -1
- data/lib/ory-client/models/set_project.rb +1 -1
- data/lib/ory-client/models/set_project_branding_theme_body.rb +1 -1
- data/lib/ory-client/models/settings_flow.rb +1 -1
- data/lib/ory-client/models/settings_flow_state.rb +1 -1
- data/lib/ory-client/models/source_position.rb +1 -1
- data/lib/ory-client/models/status.rb +1 -1
- data/lib/ory-client/models/subject_set.rb +1 -1
- data/lib/ory-client/models/subscription.rb +1 -1
- data/lib/ory-client/models/successful_code_exchange_response.rb +1 -1
- data/lib/ory-client/models/successful_native_login.rb +1 -1
- data/lib/ory-client/models/successful_native_registration.rb +1 -1
- data/lib/ory-client/models/successful_project_update.rb +1 -1
- data/lib/ory-client/models/talos_retired_value.rb +1 -1
- data/lib/ory-client/models/tax_line_item.rb +1 -1
- data/lib/ory-client/models/time_interval.rb +1 -1
- data/lib/ory-client/models/token.rb +1 -1
- data/lib/ory-client/models/token_algorithm.rb +1 -1
- data/lib/ory-client/models/token_pagination.rb +1 -1
- data/lib/ory-client/models/token_pagination_headers.rb +1 -1
- data/lib/ory-client/models/token_pagination_request_parameters.rb +1 -1
- data/lib/ory-client/models/token_pagination_response_headers.rb +1 -1
- data/lib/ory-client/models/trust_o_auth2_jwt_grant_issuer.rb +1 -1
- data/lib/ory-client/models/trusted_o_auth2_jwt_grant_issuer.rb +1 -1
- data/lib/ory-client/models/trusted_o_auth2_jwt_grant_json_web_key.rb +1 -1
- data/lib/ory-client/models/ui_container.rb +1 -1
- data/lib/ory-client/models/ui_node.rb +1 -1
- data/lib/ory-client/models/ui_node_anchor_attributes.rb +1 -1
- data/lib/ory-client/models/ui_node_attributes.rb +1 -1
- data/lib/ory-client/models/ui_node_division_attributes.rb +1 -1
- data/lib/ory-client/models/ui_node_image_attributes.rb +1 -1
- data/lib/ory-client/models/ui_node_input_attributes.rb +1 -1
- data/lib/ory-client/models/ui_node_input_attributes_option.rb +1 -1
- data/lib/ory-client/models/ui_node_meta.rb +1 -1
- data/lib/ory-client/models/ui_node_script_attributes.rb +1 -1
- data/lib/ory-client/models/ui_node_text_attributes.rb +1 -1
- data/lib/ory-client/models/ui_text.rb +1 -1
- data/lib/ory-client/models/update_fedcm_flow_body.rb +1 -1
- data/lib/ory-client/models/update_identity_body.rb +1 -1
- data/lib/ory-client/models/update_login_flow_body.rb +1 -1
- data/lib/ory-client/models/update_login_flow_with_code_method.rb +1 -1
- data/lib/ory-client/models/update_login_flow_with_device_authn_method.rb +1 -1
- data/lib/ory-client/models/update_login_flow_with_identifier_first_method.rb +1 -1
- data/lib/ory-client/models/update_login_flow_with_lookup_secret_method.rb +15 -5
- data/lib/ory-client/models/update_login_flow_with_oidc_method.rb +1 -1
- data/lib/ory-client/models/update_login_flow_with_passkey_method.rb +15 -5
- data/lib/ory-client/models/update_login_flow_with_password_method.rb +1 -1
- data/lib/ory-client/models/update_login_flow_with_saml_method.rb +1 -1
- data/lib/ory-client/models/update_login_flow_with_totp_method.rb +1 -1
- data/lib/ory-client/models/update_login_flow_with_web_authn_method.rb +1 -1
- data/lib/ory-client/models/update_organization_onboarding_portal_link_body.rb +1 -1
- data/lib/ory-client/models/update_recovery_flow_body.rb +1 -1
- data/lib/ory-client/models/update_recovery_flow_with_code_method.rb +1 -1
- data/lib/ory-client/models/update_recovery_flow_with_link_method.rb +1 -1
- data/lib/ory-client/models/update_registration_flow_body.rb +1 -1
- data/lib/ory-client/models/update_registration_flow_with_code_method.rb +1 -1
- data/lib/ory-client/models/update_registration_flow_with_oidc_method.rb +1 -1
- data/lib/ory-client/models/update_registration_flow_with_passkey_method.rb +1 -1
- data/lib/ory-client/models/update_registration_flow_with_password_method.rb +1 -1
- data/lib/ory-client/models/update_registration_flow_with_profile_method.rb +1 -1
- data/lib/ory-client/models/update_registration_flow_with_saml_method.rb +1 -1
- data/lib/ory-client/models/update_registration_flow_with_web_authn_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_body.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_device_authn_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_device_authn_method_register.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_device_authn_method_rotate_secret.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_lookup_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_oidc_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_passkey_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_password_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_profile_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_saml_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_totp_method.rb +1 -1
- data/lib/ory-client/models/update_settings_flow_with_web_authn_method.rb +1 -1
- data/lib/ory-client/models/update_subscription_body.rb +1 -1
- data/lib/ory-client/models/update_verification_flow_body.rb +1 -1
- data/lib/ory-client/models/update_verification_flow_with_code_method.rb +1 -1
- data/lib/ory-client/models/update_verification_flow_with_link_method.rb +1 -1
- data/lib/ory-client/models/update_workspace_body.rb +1 -1
- data/lib/ory-client/models/update_workspace_organization_body.rb +1 -1
- data/lib/ory-client/models/usage.rb +1 -1
- data/lib/ory-client/models/user_verification.rb +1 -1
- data/lib/ory-client/models/validate_base_url_rewrite_request.rb +1 -1
- data/lib/ory-client/models/validate_base_url_rewrite_response.rb +1 -1
- data/lib/ory-client/models/verifiable_credential_priming_response.rb +1 -1
- data/lib/ory-client/models/verifiable_credential_proof.rb +1 -1
- data/lib/ory-client/models/verifiable_credential_response.rb +1 -1
- data/lib/ory-client/models/verifiable_identity_address.rb +1 -1
- data/lib/ory-client/models/verification_error_code.rb +1 -1
- data/lib/ory-client/models/verification_flow.rb +1 -1
- data/lib/ory-client/models/verification_flow_state.rb +1 -1
- data/lib/ory-client/models/verify_api_key_request.rb +1 -1
- data/lib/ory-client/models/verify_api_key_response.rb +1 -1
- data/lib/ory-client/models/verify_user_code_request.rb +1 -1
- data/lib/ory-client/models/version.rb +1 -1
- data/lib/ory-client/models/warning.rb +1 -1
- data/lib/ory-client/models/web_authn_related_origins.rb +1 -1
- data/lib/ory-client/models/workspace.rb +1 -1
- data/lib/ory-client/models/workspace_api_key.rb +1 -1
- data/lib/ory-client/models/workspace_contact.rb +1 -1
- data/lib/ory-client/models/workspace_contact_recipient.rb +1 -1
- data/lib/ory-client/models/workspace_contact_recipient_input.rb +1 -1
- data/lib/ory-client/models/workspace_organization.rb +1 -1
- data/lib/ory-client/version.rb +2 -2
- data/lib/ory-client.rb +1 -1
- data/ory-client.gemspec +1 -1
- data/spec/api/api_keys_api_spec.rb +1 -1
- data/spec/api/courier_api_spec.rb +1 -1
- data/spec/api/elements_api_spec.rb +1 -1
- data/spec/api/events_api_spec.rb +1 -1
- data/spec/api/frontend_api_spec.rb +1 -1
- data/spec/api/identity_api_spec.rb +1 -1
- data/spec/api/jwk_api_spec.rb +1 -1
- data/spec/api/metadata_api_spec.rb +1 -1
- data/spec/api/o_auth2_api_spec.rb +1 -1
- data/spec/api/oidc_api_spec.rb +1 -1
- data/spec/api/permission_api_spec.rb +1 -1
- data/spec/api/project_api_spec.rb +1 -1
- data/spec/api/relationship_api_spec.rb +1 -1
- data/spec/api/wellknown_api_spec.rb +1 -1
- data/spec/api/workspace_api_spec.rb +1 -1
- data/spec/models/accept_device_user_code_request_spec.rb +1 -1
- data/spec/models/accept_o_auth2_consent_request_session_spec.rb +1 -1
- data/spec/models/accept_o_auth2_consent_request_spec.rb +1 -1
- data/spec/models/accept_o_auth2_login_request_spec.rb +1 -1
- data/spec/models/account_experience_colors_spec.rb +1 -1
- data/spec/models/account_experience_configuration_spec.rb +1 -1
- data/spec/models/add_project_to_workspace_body_spec.rb +1 -1
- data/spec/models/add_workspace_organization_domain_body_spec.rb +1 -1
- data/spec/models/admin_identity_import_credentials_lookup_secret_config_spec.rb +1 -1
- data/spec/models/admin_identity_import_credentials_lookup_secret_spec.rb +1 -1
- data/spec/models/admin_revoke_imported_api_key_body_spec.rb +1 -1
- data/spec/models/admin_revoke_issued_api_key_body_spec.rb +1 -1
- data/spec/models/admin_rotate_issued_api_key_body_spec.rb +1 -1
- data/spec/models/admin_update_imported_api_key_request_spec.rb +1 -1
- data/spec/models/admin_update_issued_api_key_request_spec.rb +1 -1
- data/spec/models/ai_assistant_session_token_spec.rb +1 -1
- data/spec/models/any_spec.rb +1 -1
- data/spec/models/attribute_filter_spec.rb +1 -1
- data/spec/models/attribute_spec.rb +1 -1
- data/spec/models/attributes_count_datapoint_spec.rb +1 -1
- data/spec/models/authenticator_assurance_level_spec.rb +1 -1
- data/spec/models/basic_organization_spec.rb +1 -1
- data/spec/models/batch_check_permission_body_spec.rb +1 -1
- data/spec/models/batch_check_permission_result_spec.rb +1 -1
- data/spec/models/batch_create_imported_api_keys_error_code_spec.rb +1 -1
- data/spec/models/batch_create_imported_api_keys_request_spec.rb +1 -1
- data/spec/models/batch_create_imported_api_keys_response_spec.rb +1 -1
- data/spec/models/batch_create_imported_api_keys_result_spec.rb +1 -1
- data/spec/models/batch_patch_identities_response_spec.rb +1 -1
- data/spec/models/batch_verify_api_keys_request_spec.rb +1 -1
- data/spec/models/batch_verify_api_keys_response_spec.rb +1 -1
- data/spec/models/billing_period_bucket_spec.rb +1 -1
- data/spec/models/check_opl_syntax_result_spec.rb +1 -1
- data/spec/models/check_permission_result_spec.rb +1 -1
- data/spec/models/check_permission_result_with_error_spec.rb +1 -1
- data/spec/models/cloud_account_spec.rb +1 -1
- data/spec/models/continue_with_device_authn_pin_entry_ui_data_spec.rb +1 -1
- data/spec/models/continue_with_device_authn_pin_entry_ui_spec.rb +1 -1
- data/spec/models/continue_with_recovery_ui_flow_spec.rb +1 -1
- data/spec/models/continue_with_recovery_ui_spec.rb +1 -1
- data/spec/models/continue_with_redirect_browser_to_spec.rb +1 -1
- data/spec/models/continue_with_set_ory_session_token_spec.rb +1 -1
- data/spec/models/continue_with_settings_ui_flow_spec.rb +1 -1
- data/spec/models/continue_with_settings_ui_spec.rb +1 -1
- data/spec/models/continue_with_spec.rb +1 -1
- data/spec/models/continue_with_verification_ui_flow_spec.rb +1 -1
- data/spec/models/continue_with_verification_ui_spec.rb +1 -1
- data/spec/models/courier_message_status_spec.rb +1 -1
- data/spec/models/courier_message_type_spec.rb +1 -1
- data/spec/models/create_custom_domain_body_spec.rb +1 -1
- data/spec/models/create_event_stream_body_spec.rb +7 -1
- data/spec/models/create_fedcm_flow_response_spec.rb +1 -1
- data/spec/models/create_identity_body_spec.rb +1 -1
- data/spec/models/create_invite_response_spec.rb +1 -1
- data/spec/models/create_json_web_key_set_spec.rb +1 -1
- data/spec/models/create_onboarding_link_response_spec.rb +1 -1
- data/spec/models/create_organization_onboarding_portal_link_body_spec.rb +1 -1
- data/spec/models/create_project_api_key_body_spec.rb +1 -1
- data/spec/models/create_project_body_spec.rb +1 -1
- data/spec/models/create_project_branding_spec.rb +1 -1
- data/spec/models/create_project_member_invite_body_spec.rb +1 -1
- data/spec/models/create_project_normalized_payload_spec.rb +55 -1
- data/spec/models/create_recovery_code_for_identity_body_spec.rb +1 -1
- data/spec/models/create_recovery_link_for_identity_body_spec.rb +1 -1
- data/spec/models/create_relationship_body_spec.rb +1 -1
- data/spec/models/create_subscription_body_spec.rb +1 -1
- data/spec/models/create_subscription_common_spec.rb +1 -1
- data/spec/models/create_test_login_flow_body_spec.rb +1 -1
- data/spec/models/create_test_login_flow_from_onboarding_portal_link_body_spec.rb +1 -1
- data/spec/models/create_verifiable_credential_request_body_spec.rb +1 -1
- data/spec/models/create_workspace_api_key_body_spec.rb +1 -1
- data/spec/models/create_workspace_body_spec.rb +1 -1
- data/spec/models/create_workspace_contact_body_spec.rb +1 -1
- data/spec/models/create_workspace_member_invite_body_spec.rb +1 -1
- data/spec/models/create_workspace_organization_body_spec.rb +1 -1
- data/spec/models/create_workspace_subscription_body_spec.rb +1 -1
- data/spec/models/credential_supported_draft00_spec.rb +1 -1
- data/spec/models/custom_domain_spec.rb +1 -1
- data/spec/models/customer_portal_availability_spec.rb +1 -1
- data/spec/models/delete_my_sessions_count_spec.rb +1 -1
- data/spec/models/derive_token_request_spec.rb +1 -1
- data/spec/models/derive_token_response_spec.rb +1 -1
- data/spec/models/device_authn_android_authorization_list_spec.rb +1 -1
- data/spec/models/device_authn_android_key_description_spec.rb +1 -1
- data/spec/models/device_authn_android_root_of_trust_spec.rb +1 -1
- data/spec/models/device_authn_attestation_spec.rb +1 -1
- data/spec/models/device_authn_ios_att_stmt_spec.rb +1 -1
- data/spec/models/device_authn_ios_attestation_spec.rb +1 -1
- data/spec/models/device_authn_key_spec.rb +1 -1
- data/spec/models/device_authorization_spec.rb +1 -1
- data/spec/models/device_type_spec.rb +1 -1
- data/spec/models/device_user_auth_request_spec.rb +1 -1
- data/spec/models/domain_verification_status_spec.rb +1 -1
- data/spec/models/elements_configuration_spec.rb +1 -1
- data/spec/models/email_template_data_body_spec.rb +1 -1
- data/spec/models/email_template_data_spec.rb +1 -1
- data/spec/models/error_authenticator_assurance_level_not_satisfied_spec.rb +1 -1
- data/spec/models/error_browser_location_change_required_spec.rb +1 -1
- data/spec/models/error_flow_replaced_spec.rb +1 -1
- data/spec/models/error_generic_spec.rb +1 -1
- data/spec/models/error_o_auth2_spec.rb +1 -1
- data/spec/models/event_stream_spec.rb +7 -1
- data/spec/models/expanded_permission_tree_spec.rb +1 -1
- data/spec/models/feature_flags_catalog_entry_spec.rb +1 -1
- data/spec/models/flow_error_spec.rb +1 -1
- data/spec/models/generic_error_content_spec.rb +1 -1
- data/spec/models/generic_error_spec.rb +1 -1
- data/spec/models/generic_oidc_provider_spec.rb +1 -1
- data/spec/models/generic_usage_spec.rb +1 -1
- data/spec/models/get_attributes_count_spec.rb +1 -1
- data/spec/models/get_jwks_response_jwks_keys_inner_spec.rb +1 -1
- data/spec/models/get_jwks_response_jwks_spec.rb +1 -1
- data/spec/models/get_jwks_response_spec.rb +1 -1
- data/spec/models/get_managed_identity_schema_location_spec.rb +1 -1
- data/spec/models/get_metrics_count_spec.rb +1 -1
- data/spec/models/get_metrics_event_attributes_spec.rb +1 -1
- data/spec/models/get_metrics_event_types_spec.rb +1 -1
- data/spec/models/get_organization_response_spec.rb +1 -1
- data/spec/models/get_organizations_by_hostname_response_spec.rb +1 -1
- data/spec/models/get_project_events_body_spec.rb +1 -1
- data/spec/models/get_project_events_spec.rb +1 -1
- data/spec/models/get_project_metrics_spec.rb +1 -1
- data/spec/models/get_session_activity_spec.rb +1 -1
- data/spec/models/get_version200_response_spec.rb +1 -1
- data/spec/models/health_not_ready_status_spec.rb +1 -1
- data/spec/models/health_status_spec.rb +1 -1
- data/spec/models/identity_credentials_code_address_spec.rb +1 -1
- data/spec/models/identity_credentials_code_spec.rb +1 -1
- data/spec/models/identity_credentials_lookup_secret_code_spec.rb +1 -1
- data/spec/models/identity_credentials_oidc_provider_spec.rb +1 -1
- data/spec/models/identity_credentials_oidc_spec.rb +1 -1
- data/spec/models/identity_credentials_password_spec.rb +1 -1
- data/spec/models/identity_credentials_spec.rb +1 -1
- data/spec/models/identity_credentials_web_authn_attestation_spec.rb +1 -1
- data/spec/models/identity_credentials_web_authn_authenticator_spec.rb +1 -1
- data/spec/models/identity_credentials_web_authn_flags_spec.rb +1 -1
- data/spec/models/identity_credentials_web_authn_spec.rb +1 -1
- data/spec/models/identity_patch_response_spec.rb +1 -1
- data/spec/models/identity_patch_spec.rb +1 -1
- data/spec/models/identity_schema_container_spec.rb +1 -1
- data/spec/models/identity_schema_preset_spec.rb +1 -1
- data/spec/models/identity_spec.rb +1 -1
- data/spec/models/identity_with_credentials_oidc_config_provider_spec.rb +1 -1
- data/spec/models/identity_with_credentials_oidc_config_spec.rb +1 -1
- data/spec/models/identity_with_credentials_oidc_spec.rb +1 -1
- data/spec/models/identity_with_credentials_passkey_config_spec.rb +1 -1
- data/spec/models/identity_with_credentials_passkey_spec.rb +1 -1
- data/spec/models/identity_with_credentials_password_config_spec.rb +1 -1
- data/spec/models/identity_with_credentials_password_spec.rb +1 -1
- data/spec/models/identity_with_credentials_saml_config_provider_spec.rb +1 -1
- data/spec/models/identity_with_credentials_saml_config_spec.rb +1 -1
- data/spec/models/identity_with_credentials_saml_spec.rb +1 -1
- data/spec/models/identity_with_credentials_spec.rb +1 -1
- data/spec/models/identity_with_credentials_totp_config_spec.rb +1 -1
- data/spec/models/identity_with_credentials_totp_spec.rb +1 -1
- data/spec/models/identity_with_credentials_web_authn_config_spec.rb +1 -1
- data/spec/models/identity_with_credentials_web_authn_spec.rb +1 -1
- data/spec/models/import_api_key_request_spec.rb +1 -1
- data/spec/models/imported_api_key_spec.rb +1 -1
- data/spec/models/internal_get_project_branding_body_spec.rb +1 -1
- data/spec/models/internal_is_ax_welcome_screen_enabled_for_project_body_spec.rb +1 -1
- data/spec/models/internal_is_owner_for_project_by_slug_body_spec.rb +1 -1
- data/spec/models/internal_is_owner_for_project_by_slug_spec.rb +1 -1
- data/spec/models/introspected_o_auth2_token_spec.rb +1 -1
- data/spec/models/invite_token_body_spec.rb +1 -1
- data/spec/models/invoice_data_v1_spec.rb +1 -1
- data/spec/models/invoice_spec.rb +1 -1
- data/spec/models/ip_restriction_spec.rb +1 -1
- data/spec/models/is_owner_for_project_by_slug_spec.rb +1 -1
- data/spec/models/issue_api_key_request_spec.rb +1 -1
- data/spec/models/issue_api_key_response_spec.rb +1 -1
- data/spec/models/issued_api_key_spec.rb +1 -1
- data/spec/models/json_patch_spec.rb +1 -1
- data/spec/models/json_web_key_set_spec.rb +1 -1
- data/spec/models/json_web_key_spec.rb +1 -1
- data/spec/models/keto_namespace_spec.rb +1 -1
- data/spec/models/key_state_spec.rb +1 -1
- data/spec/models/key_status_spec.rb +1 -1
- data/spec/models/key_visibility_spec.rb +1 -1
- data/spec/models/keyset_pagination_request_parameters_spec.rb +1 -1
- data/spec/models/keyset_pagination_response_headers_spec.rb +1 -1
- data/spec/models/line_item_v1_spec.rb +1 -1
- data/spec/models/list_event_streams_spec.rb +1 -1
- data/spec/models/list_imported_api_keys_response_spec.rb +1 -1
- data/spec/models/list_invoices_response_spec.rb +1 -1
- data/spec/models/list_issued_api_keys_response_spec.rb +1 -1
- data/spec/models/list_organizations_response_spec.rb +1 -1
- data/spec/models/list_workspace_contacts_spec.rb +1 -1
- data/spec/models/list_workspace_projects_spec.rb +1 -1
- data/spec/models/list_workspaces_spec.rb +1 -1
- data/spec/models/login_flow_spec.rb +1 -1
- data/spec/models/login_flow_state_spec.rb +1 -1
- data/spec/models/login_flow_test_context_spec.rb +1 -1
- data/spec/models/login_flow_test_debug_payload_spec.rb +7 -1
- data/spec/models/login_flow_test_schema_validation_error_spec.rb +1 -1
- data/spec/models/login_flow_test_step_error_spec.rb +1 -1
- data/spec/models/logout_flow_spec.rb +1 -1
- data/spec/models/manage_sessions_body_spec.rb +1 -1
- data/spec/models/manage_sessions_response_spec.rb +1 -1
- data/spec/models/managed_identity_schema_spec.rb +1 -1
- data/spec/models/managed_identity_schema_validation_result_spec.rb +1 -1
- data/spec/models/member_invite_spec.rb +1 -1
- data/spec/models/message_dispatch_spec.rb +1 -1
- data/spec/models/message_spec.rb +1 -1
- data/spec/models/metrics_datapoint_spec.rb +1 -1
- data/spec/models/namespace_spec.rb +1 -1
- data/spec/models/needs_privileged_session_error_spec.rb +1 -1
- data/spec/models/normalized_project_revision_courier_channel_spec.rb +1 -1
- data/spec/models/normalized_project_revision_hook_spec.rb +1 -1
- data/spec/models/normalized_project_revision_identity_schema_spec.rb +1 -1
- data/spec/models/normalized_project_revision_saml_provider_spec.rb +1 -1
- data/spec/models/normalized_project_revision_scim_client_spec.rb +1 -1
- data/spec/models/normalized_project_revision_spec.rb +55 -1
- data/spec/models/normalized_project_revision_third_party_provider_spec.rb +1 -1
- data/spec/models/normalized_project_revision_tokenizer_template_spec.rb +1 -1
- data/spec/models/normalized_project_spec.rb +1 -1
- data/spec/models/null_value_spec.rb +1 -1
- data/spec/models/o_auth2_client_spec.rb +1 -1
- data/spec/models/o_auth2_client_token_lifespans_spec.rb +1 -1
- data/spec/models/o_auth2_consent_request_open_id_connect_context_spec.rb +1 -1
- data/spec/models/o_auth2_consent_request_spec.rb +1 -1
- data/spec/models/o_auth2_consent_session_spec.rb +1 -1
- data/spec/models/o_auth2_login_request_spec.rb +1 -1
- data/spec/models/o_auth2_logout_request_spec.rb +1 -1
- data/spec/models/o_auth2_redirect_to_spec.rb +1 -1
- data/spec/models/o_auth2_token_exchange_spec.rb +1 -1
- data/spec/models/oidc_configuration_spec.rb +1 -1
- data/spec/models/oidc_user_info_spec.rb +1 -1
- data/spec/models/onboarding_portal_link_spec.rb +1 -1
- data/spec/models/onboarding_portal_organization_spec.rb +7 -1
- data/spec/models/onboarding_portal_test_login_flow_spec.rb +1 -1
- data/spec/models/opl_parse_error_spec.rb +1 -1
- data/spec/models/opl_source_position_spec.rb +1 -1
- data/spec/models/opl_validate_result_spec.rb +1 -1
- data/spec/models/organization_body_spec.rb +1 -1
- data/spec/models/organization_by_hostname_spec.rb +1 -1
- data/spec/models/organization_onboarding_portal_links_response_spec.rb +1 -1
- data/spec/models/organization_spec.rb +1 -1
- data/spec/models/parse_error_spec.rb +1 -1
- data/spec/models/patch_identities_body_spec.rb +1 -1
- data/spec/models/patch_workspace_contact_body_spec.rb +1 -1
- data/spec/models/patch_workspace_member_body_spec.rb +1 -1
- data/spec/models/perform_native_logout_body_spec.rb +1 -1
- data/spec/models/permissions_on_workspace_spec.rb +1 -1
- data/spec/models/pin_config_spec.rb +1 -1
- data/spec/models/plan_details_spec.rb +1 -1
- data/spec/models/post_check_permission_body_spec.rb +1 -1
- data/spec/models/post_check_permission_or_error_body_spec.rb +1 -1
- data/spec/models/project_api_key_spec.rb +1 -1
- data/spec/models/project_branding_colors_spec.rb +1 -1
- data/spec/models/project_branding_spec.rb +1 -1
- data/spec/models/project_branding_theme_spec.rb +1 -1
- data/spec/models/project_cors_spec.rb +1 -1
- data/spec/models/project_events_datapoint_spec.rb +1 -1
- data/spec/models/project_host_spec.rb +1 -1
- data/spec/models/project_member_spec.rb +1 -1
- data/spec/models/project_metadata_spec.rb +1 -1
- data/spec/models/project_service_account_experience_spec.rb +1 -1
- data/spec/models/project_service_identity_spec.rb +1 -1
- data/spec/models/project_service_o_auth2_spec.rb +1 -1
- data/spec/models/project_service_permission_spec.rb +1 -1
- data/spec/models/project_service_talos_spec.rb +1 -1
- data/spec/models/project_services_spec.rb +1 -1
- data/spec/models/project_spec.rb +1 -1
- data/spec/models/provider_spec.rb +1 -1
- data/spec/models/public_member_invite_spec.rb +1 -1
- data/spec/models/quota_usage_spec.rb +2 -2
- data/spec/models/rate_limit_policy_spec.rb +1 -1
- data/spec/models/recovery_code_for_identity_spec.rb +1 -1
- data/spec/models/recovery_flow_spec.rb +1 -1
- data/spec/models/recovery_flow_state_spec.rb +1 -1
- data/spec/models/recovery_identity_address_spec.rb +1 -1
- data/spec/models/recovery_link_for_identity_spec.rb +1 -1
- data/spec/models/registration_flow_spec.rb +1 -1
- data/spec/models/registration_flow_state_spec.rb +1 -1
- data/spec/models/reject_o_auth2_request_spec.rb +1 -1
- data/spec/models/relation_query_spec.rb +1 -1
- data/spec/models/relationship_namespaces_spec.rb +1 -1
- data/spec/models/relationship_patch_spec.rb +1 -1
- data/spec/models/relationship_spec.rb +1 -1
- data/spec/models/relationships_spec.rb +1 -1
- data/spec/models/revision_account_experience_custom_translation_spec.rb +1 -1
- data/spec/models/revocation_reason_spec.rb +1 -1
- data/spec/models/rfc6749_error_json_spec.rb +1 -1
- data/spec/models/rotate_issued_api_key_response_spec.rb +1 -1
- data/spec/models/rotate_o_auth2_client_secret_body_spec.rb +1 -1
- data/spec/models/rotate_talos_key_body_spec.rb +1 -1
- data/spec/models/schema_patch_spec.rb +1 -1
- data/spec/models/self_revoke_api_key_request_spec.rb +1 -1
- data/spec/models/self_service_flow_expired_error_spec.rb +1 -1
- data/spec/models/session_activity_datapoint_spec.rb +1 -1
- data/spec/models/session_authentication_method_spec.rb +1 -1
- data/spec/models/session_device_spec.rb +1 -1
- data/spec/models/session_spec.rb +1 -1
- data/spec/models/set_custom_domain_body_spec.rb +1 -1
- data/spec/models/set_event_stream_body_spec.rb +7 -1
- data/spec/models/set_organization_from_onboarding_portal_link_body_spec.rb +1 -1
- data/spec/models/set_project_branding_theme_body_spec.rb +1 -1
- data/spec/models/set_project_spec.rb +1 -1
- data/spec/models/settings_flow_spec.rb +1 -1
- data/spec/models/settings_flow_state_spec.rb +1 -1
- data/spec/models/source_position_spec.rb +1 -1
- data/spec/models/status_spec.rb +1 -1
- data/spec/models/subject_set_spec.rb +1 -1
- data/spec/models/subscription_spec.rb +1 -1
- data/spec/models/successful_code_exchange_response_spec.rb +1 -1
- data/spec/models/successful_native_login_spec.rb +1 -1
- data/spec/models/successful_native_registration_spec.rb +1 -1
- data/spec/models/successful_project_update_spec.rb +1 -1
- data/spec/models/talos_retired_value_spec.rb +1 -1
- data/spec/models/tax_line_item_spec.rb +1 -1
- data/spec/models/time_interval_spec.rb +1 -1
- data/spec/models/token_algorithm_spec.rb +1 -1
- data/spec/models/token_pagination_headers_spec.rb +1 -1
- data/spec/models/token_pagination_request_parameters_spec.rb +1 -1
- data/spec/models/token_pagination_response_headers_spec.rb +1 -1
- data/spec/models/token_pagination_spec.rb +1 -1
- data/spec/models/token_spec.rb +1 -1
- data/spec/models/trust_o_auth2_jwt_grant_issuer_spec.rb +1 -1
- data/spec/models/trusted_o_auth2_jwt_grant_issuer_spec.rb +1 -1
- data/spec/models/trusted_o_auth2_jwt_grant_json_web_key_spec.rb +1 -1
- data/spec/models/ui_container_spec.rb +1 -1
- data/spec/models/ui_node_anchor_attributes_spec.rb +1 -1
- data/spec/models/ui_node_attributes_spec.rb +1 -1
- data/spec/models/ui_node_division_attributes_spec.rb +1 -1
- data/spec/models/ui_node_image_attributes_spec.rb +1 -1
- data/spec/models/ui_node_input_attributes_option_spec.rb +1 -1
- data/spec/models/ui_node_input_attributes_spec.rb +1 -1
- data/spec/models/ui_node_meta_spec.rb +1 -1
- data/spec/models/ui_node_script_attributes_spec.rb +1 -1
- data/spec/models/ui_node_spec.rb +1 -1
- data/spec/models/ui_node_text_attributes_spec.rb +1 -1
- data/spec/models/ui_text_spec.rb +1 -1
- data/spec/models/update_fedcm_flow_body_spec.rb +1 -1
- data/spec/models/update_identity_body_spec.rb +1 -1
- data/spec/models/update_login_flow_body_spec.rb +1 -1
- data/spec/models/update_login_flow_with_code_method_spec.rb +1 -1
- data/spec/models/update_login_flow_with_device_authn_method_spec.rb +1 -1
- data/spec/models/update_login_flow_with_identifier_first_method_spec.rb +1 -1
- data/spec/models/update_login_flow_with_lookup_secret_method_spec.rb +7 -1
- data/spec/models/update_login_flow_with_oidc_method_spec.rb +1 -1
- data/spec/models/update_login_flow_with_passkey_method_spec.rb +7 -1
- data/spec/models/update_login_flow_with_password_method_spec.rb +1 -1
- data/spec/models/update_login_flow_with_saml_method_spec.rb +1 -1
- data/spec/models/update_login_flow_with_totp_method_spec.rb +1 -1
- data/spec/models/update_login_flow_with_web_authn_method_spec.rb +1 -1
- data/spec/models/update_organization_onboarding_portal_link_body_spec.rb +1 -1
- data/spec/models/update_recovery_flow_body_spec.rb +1 -1
- data/spec/models/update_recovery_flow_with_code_method_spec.rb +1 -1
- data/spec/models/update_recovery_flow_with_link_method_spec.rb +1 -1
- data/spec/models/update_registration_flow_body_spec.rb +1 -1
- data/spec/models/update_registration_flow_with_code_method_spec.rb +1 -1
- data/spec/models/update_registration_flow_with_oidc_method_spec.rb +1 -1
- data/spec/models/update_registration_flow_with_passkey_method_spec.rb +1 -1
- data/spec/models/update_registration_flow_with_password_method_spec.rb +1 -1
- data/spec/models/update_registration_flow_with_profile_method_spec.rb +1 -1
- data/spec/models/update_registration_flow_with_saml_method_spec.rb +1 -1
- data/spec/models/update_registration_flow_with_web_authn_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_body_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_device_authn_method_register_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_device_authn_method_rotate_secret_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_device_authn_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_lookup_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_oidc_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_passkey_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_password_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_profile_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_saml_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_totp_method_spec.rb +1 -1
- data/spec/models/update_settings_flow_with_web_authn_method_spec.rb +1 -1
- data/spec/models/update_subscription_body_spec.rb +1 -1
- data/spec/models/update_verification_flow_body_spec.rb +1 -1
- data/spec/models/update_verification_flow_with_code_method_spec.rb +1 -1
- data/spec/models/update_verification_flow_with_link_method_spec.rb +1 -1
- data/spec/models/update_workspace_body_spec.rb +1 -1
- data/spec/models/update_workspace_organization_body_spec.rb +1 -1
- data/spec/models/usage_spec.rb +1 -1
- data/spec/models/user_verification_spec.rb +1 -1
- data/spec/models/validate_base_url_rewrite_request_spec.rb +1 -1
- data/spec/models/validate_base_url_rewrite_response_spec.rb +1 -1
- data/spec/models/verifiable_credential_priming_response_spec.rb +1 -1
- data/spec/models/verifiable_credential_proof_spec.rb +1 -1
- data/spec/models/verifiable_credential_response_spec.rb +1 -1
- data/spec/models/verifiable_identity_address_spec.rb +1 -1
- data/spec/models/verification_error_code_spec.rb +1 -1
- data/spec/models/verification_flow_spec.rb +1 -1
- data/spec/models/verification_flow_state_spec.rb +1 -1
- data/spec/models/verify_api_key_request_spec.rb +1 -1
- data/spec/models/verify_api_key_response_spec.rb +1 -1
- data/spec/models/verify_user_code_request_spec.rb +1 -1
- data/spec/models/version_spec.rb +1 -1
- data/spec/models/warning_spec.rb +1 -1
- data/spec/models/web_authn_related_origins_spec.rb +1 -1
- data/spec/models/workspace_api_key_spec.rb +1 -1
- data/spec/models/workspace_contact_recipient_input_spec.rb +1 -1
- data/spec/models/workspace_contact_recipient_spec.rb +1 -1
- data/spec/models/workspace_contact_spec.rb +1 -1
- data/spec/models/workspace_organization_spec.rb +1 -1
- data/spec/models/workspace_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/cache/ethon-0.19.1.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.5.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/cache/typhoeus-1.7.1.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/byebug-13.0.0/gem_make.out +5 -5
- 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
- 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
- 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
- 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
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/psych-4.0.6/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/racc-1.8.1/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux-gnu/3.2.0/stringio-3.2.0/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/CHANGELOG.md +1120 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/README.md +261 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curl.rb +22 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/classes.rb +337 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/codes.rb +28 -9
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/constants.rb +61 -4
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/form_options.rb +2 -1
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/functions.rb +107 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/infos.rb +104 -5
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/introspection.rb +139 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/introspection_constants.rb +42 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/mime.rb +187 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/optional.rb +14 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/options.rb +298 -71
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/settings.rb +21 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/share.rb +165 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/share_constants.rb +47 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/url.rb +171 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/curls/url_constants.rb +78 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/callbacks.rb +281 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/features.rb +4 -1
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/files.rb +113 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/form.rb +65 -6
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/header.rb +103 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/headers_api.rb +79 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/actionable.rb +25 -3
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/get.rb +5 -1
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/post.rb +1 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/postable.rb +9 -2
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/http/putable.rb +40 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http.rb +16 -4
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/informations.rb +51 -2
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/mime.rb +29 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/mirror.rb +49 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/operations.rb +317 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/options.rb +369 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/queryable.rb +59 -14
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/response_callbacks.rb +33 -12
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/share.rb +28 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/url.rb +32 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/easy/util.rb +47 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy.rb +185 -10
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/fork_safety.rb +10 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/form_add.rb +12 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/global_init.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/header.rb +12 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/invalid_option.rb +3 -1
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/invalid_value.rb +15 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/mime.rb +17 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_add.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_assign.rb +12 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_fdset.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_perform.rb +12 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_poll.rb +12 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_remove.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/multi_timeout.rb +2 -2
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_wait.rb +12 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/multi_wakeup.rb +12 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/select.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/set_option.rb +27 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/share.rb +17 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/unsupported_option.rb +23 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/errors/url.rb +17 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors.rb +13 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/libc.rb +50 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/loggable.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/operations.rb +472 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/options.rb +219 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.19.1/lib/ethon/multi/stack.rb +220 -0
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/multi.rb +51 -15
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/version.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon.rb +8 -9
- 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
- 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
- data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/lib/io/console.so +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/CHANGELOG.md +228 -1
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/README.md +766 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/UPGRADE.md +29 -0
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/rack/typhoeus/middleware/params_decoder/helper.rb +129 -0
- 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
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/rack/typhoeus.rb +2 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/adapters/faraday.rb +89 -28
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/dalli.rb +2 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/rails.rb +3 -1
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/cache/redis.rb +2 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/config.rb +51 -7
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/easy_factory.rb +129 -23
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/errors/invalid_option.rb +23 -0
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/errors/no_response.rb +18 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors/no_stub.rb +8 -1
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors/typhoeus_error.rb +2 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/errors.rb +4 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/expectation.rb +33 -1
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/hydra/queueable.rb +29 -4
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/hydra.rb +423 -0
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/pool.rb +133 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/railtie.rb +4 -2
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/actions.rb +2 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/callbacks.rb +11 -4
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/marshal.rb +5 -2
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/request/streamable.rb +2 -0
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/request.rb +510 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/cacheable.rb +2 -0
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus/response/header.rb +325 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/informations.rb +75 -12
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response/status.rb +4 -13
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/response.rb +35 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/lib/typhoeus/version.rb +3 -1
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.7.1/lib/typhoeus.rb +206 -0
- data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/typhoeus.gemspec +15 -3
- data/vendor/bundle/ruby/3.2.0/specifications/{ethon-0.18.0.gemspec → ethon-0.19.1.gemspec} +4 -4
- data/vendor/bundle/ruby/3.2.0/specifications/{io-console-0.9.4.gemspec → io-console-0.9.5.gemspec} +3 -3
- data/vendor/bundle/ruby/3.2.0/specifications/{typhoeus-1.6.0.gemspec → typhoeus-1.7.1.gemspec} +5 -5
- metadata +143 -129
- data/vendor/bundle/ruby/3.2.0/cache/ethon-0.18.0.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.4.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/cache/typhoeus-1.6.0.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/CHANGELOG.md +0 -417
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/README.md +0 -118
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/classes.rb +0 -65
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/functions.rb +0 -58
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/curls/settings.rb +0 -12
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/callbacks.rb +0 -155
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/header.rb +0 -61
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/http/putable.rb +0 -25
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/mirror.rb +0 -36
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/operations.rb +0 -64
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/options.rb +0 -50
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/easy/util.rb +0 -28
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/errors/invalid_value.rb +0 -13
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/libc.rb +0 -21
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/operations.rb +0 -228
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/options.rb +0 -117
- data/vendor/bundle/ruby/3.2.0/gems/ethon-0.18.0/lib/ethon/multi/stack.rb +0 -49
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/README.md +0 -588
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -76
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/addable.rb +0 -23
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/before.rb +0 -31
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/block_connection.rb +0 -35
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/cacheable.rb +0 -15
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/memoizable.rb +0 -56
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/runnable.rb +0 -19
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/stubbable.rb +0 -28
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra.rb +0 -95
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/pool.rb +0 -70
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/before.rb +0 -30
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/block_connection.rb +0 -52
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/cacheable.rb +0 -38
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/memoizable.rb +0 -38
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/operations.rb +0 -40
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/responseable.rb +0 -29
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request/stubbable.rb +0 -30
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/request.rb +0 -223
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus/response/header.rb +0 -105
- data/vendor/bundle/ruby/3.2.0/gems/typhoeus-1.6.0/lib/typhoeus.rb +0 -143
- /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
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/LICENSE +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/ethon.gemspec +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/curls/messages.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/debug_info.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/custom.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/delete.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/head.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/options.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/patch.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/http/put.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/easy/params.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{ethon-0.18.0 → ethon-0.19.1}/lib/ethon/errors/ethon_error.rb +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/.document +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/BSDL +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/COPYING +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/README.md +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.4 → io-console-0.9.5}/ext/io/console/Makefile +0 -0
- /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
- /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
- /data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/CONTRIBUTING.md +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{typhoeus-1.6.0 → typhoeus-1.7.1}/LICENSE +0 -0
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module Ethon
|
|
3
|
+
class Multi # :nodoc
|
|
4
|
+
# This module contains logic to run a multi.
|
|
5
|
+
module Operations
|
|
6
|
+
STARTED_MULTI = "ETHON: started MULTI"
|
|
7
|
+
PERFORMED_MULTI = "ETHON: performed MULTI"
|
|
8
|
+
|
|
9
|
+
# Return the multi handle. Inititialize multi handle,
|
|
10
|
+
# in case it didn't happened already.
|
|
11
|
+
#
|
|
12
|
+
# @example Return multi handle.
|
|
13
|
+
# multi.handle
|
|
14
|
+
#
|
|
15
|
+
# @return [ FFI::Pointer ] The multi handle.
|
|
16
|
+
def handle
|
|
17
|
+
ensure_not_cleaned_up!
|
|
18
|
+
|
|
19
|
+
handle = @handle ||= begin
|
|
20
|
+
# Enforce fork safety before creating a handle for a Multi that was
|
|
21
|
+
# constructed before the fork but never touched.
|
|
22
|
+
Curl.check_pid!
|
|
23
|
+
pointer = Curl.multi_init
|
|
24
|
+
raise NoMemoryError, "curl_multi_init failed" if pointer.null?
|
|
25
|
+
Curl::MultiHandle.new(pointer)
|
|
26
|
+
end
|
|
27
|
+
handle.check_pid!
|
|
28
|
+
handle
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Clean up the multi.
|
|
32
|
+
#
|
|
33
|
+
# Removes all attached easy handles before freeing the native multi
|
|
34
|
+
# handle. Cleanup is terminal: the Multi cannot be used afterwards.
|
|
35
|
+
#
|
|
36
|
+
# @return [ nil ]
|
|
37
|
+
def cleanup
|
|
38
|
+
ensure_not_cleaned_up!
|
|
39
|
+
ensure_not_executing!
|
|
40
|
+
# A handle created before a fork must not be released in the child.
|
|
41
|
+
@handle.check_pid! if @handle
|
|
42
|
+
|
|
43
|
+
error = nil
|
|
44
|
+
begin
|
|
45
|
+
stack.dup.each do |easy|
|
|
46
|
+
begin
|
|
47
|
+
delete(easy)
|
|
48
|
+
rescue StandardError => e
|
|
49
|
+
# Keep detaching the other handles. A failed close or native
|
|
50
|
+
# detach must not strand every remaining handle on a Multi whose
|
|
51
|
+
# native handle is about to be freed.
|
|
52
|
+
error ||= e
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
ensure
|
|
56
|
+
# Cleanup is terminal. Release the native handle even when detaching
|
|
57
|
+
# one of the easy handles fails. Handles that could not be detached
|
|
58
|
+
# keep their multi ownership so they cannot be reused unsafely.
|
|
59
|
+
begin
|
|
60
|
+
@handle.free if @handle
|
|
61
|
+
ensure
|
|
62
|
+
stack.each do |easy|
|
|
63
|
+
begin
|
|
64
|
+
easy.finish_response_body_io
|
|
65
|
+
rescue StandardError
|
|
66
|
+
# Cleanup is best effort; keep tearing down the multi even if
|
|
67
|
+
# closing a streamed response fails.
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
stack.clear
|
|
71
|
+
@handle = nil
|
|
72
|
+
@running_count = nil
|
|
73
|
+
@assigned_sockets = nil
|
|
74
|
+
@procs = nil
|
|
75
|
+
@cleaned_up = true
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
raise error if error
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Initialize variables.
|
|
82
|
+
#
|
|
83
|
+
# @example Initialize variables.
|
|
84
|
+
# multi.init_vars
|
|
85
|
+
#
|
|
86
|
+
# @return [ void ]
|
|
87
|
+
def init_vars
|
|
88
|
+
if @execution_mode == :perform
|
|
89
|
+
@timeout = ::FFI::MemoryPointer.new(:long)
|
|
90
|
+
@running_count_pointer = ::FFI::MemoryPointer.new(:int)
|
|
91
|
+
@msgs_left = ::FFI::MemoryPointer.new(:int)
|
|
92
|
+
@wait_strategy = if Curl.respond_to?(:multi_poll)
|
|
93
|
+
:poll
|
|
94
|
+
elsif Curl.respond_to?(:multi_wait)
|
|
95
|
+
:wait
|
|
96
|
+
else
|
|
97
|
+
:select
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
if @wait_strategy == :select
|
|
101
|
+
@timeval = Curl::Timeval.new
|
|
102
|
+
@fd_read = Curl::FDSet.new
|
|
103
|
+
@fd_write = Curl::FDSet.new
|
|
104
|
+
@fd_excep = Curl::FDSet.new
|
|
105
|
+
@max_fd = ::FFI::MemoryPointer.new(:int)
|
|
106
|
+
end
|
|
107
|
+
elsif @execution_mode == :socket_action
|
|
108
|
+
@running_count_pointer = FFI::MemoryPointer.new(:int)
|
|
109
|
+
@msgs_left = FFI::MemoryPointer.new(:int)
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Perform multi.
|
|
114
|
+
#
|
|
115
|
+
# @return [ nil ]
|
|
116
|
+
#
|
|
117
|
+
# @example Perform multi.
|
|
118
|
+
# multi.perform
|
|
119
|
+
def perform
|
|
120
|
+
ensure_execution_mode(:perform)
|
|
121
|
+
ensure_not_cleaned_up!
|
|
122
|
+
ensure_not_executing!
|
|
123
|
+
|
|
124
|
+
Ethon.logger.debug(STARTED_MULTI)
|
|
125
|
+
@executing = true
|
|
126
|
+
begin
|
|
127
|
+
while ongoing?
|
|
128
|
+
run
|
|
129
|
+
timeout = get_timeout
|
|
130
|
+
next if timeout == 0
|
|
131
|
+
case @wait_strategy
|
|
132
|
+
when :poll
|
|
133
|
+
poll(timeout)
|
|
134
|
+
when :wait
|
|
135
|
+
wait(timeout)
|
|
136
|
+
else
|
|
137
|
+
reset_fds
|
|
138
|
+
set_fds(timeout)
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
ensure
|
|
142
|
+
@executing = false
|
|
143
|
+
end
|
|
144
|
+
Ethon.logger.debug(PERFORMED_MULTI)
|
|
145
|
+
nil
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# Prepare multi.
|
|
149
|
+
#
|
|
150
|
+
# @return [ nil ]
|
|
151
|
+
#
|
|
152
|
+
# @example Prepare multi.
|
|
153
|
+
# multi.prepare
|
|
154
|
+
#
|
|
155
|
+
# @deprecated It is no longer necessary to call prepare.
|
|
156
|
+
def prepare
|
|
157
|
+
Ethon.logger.warn(
|
|
158
|
+
"ETHON: It is no longer necessary to call "+
|
|
159
|
+
"Multi#prepare. It's going to be removed "+
|
|
160
|
+
"in future versions."
|
|
161
|
+
)
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Wait for activity on the multi's sockets.
|
|
165
|
+
#
|
|
166
|
+
# @example Wait up to one second.
|
|
167
|
+
# multi.wait(1000)
|
|
168
|
+
#
|
|
169
|
+
# @param [ Integer ] timeout_ms Maximum time to wait in milliseconds.
|
|
170
|
+
#
|
|
171
|
+
# @return [ Integer ] Number of file descriptors with activity.
|
|
172
|
+
def wait(timeout_ms = 1000)
|
|
173
|
+
unless Curl.respond_to?(:multi_wait)
|
|
174
|
+
raise NotImplementedError, "curl_multi_wait is not supported by this libcurl"
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
numfds = (@numfds ||= ::FFI::MemoryPointer.new(:int))
|
|
178
|
+
code = Curl.multi_wait(handle, ::FFI::Pointer::NULL, 0, timeout_ms, numfds)
|
|
179
|
+
raise Errors::MultiWait.new(code) unless code == :ok
|
|
180
|
+
|
|
181
|
+
numfds.read_int
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Wait for activity using curl_multi_poll.
|
|
185
|
+
#
|
|
186
|
+
# @param [ Integer ] timeout_ms Maximum time to wait in milliseconds.
|
|
187
|
+
#
|
|
188
|
+
# @return [ Integer ] Number of file descriptors with activity.
|
|
189
|
+
def poll(timeout_ms = 1000)
|
|
190
|
+
unless Curl.respond_to?(:multi_poll)
|
|
191
|
+
raise NotImplementedError, "curl_multi_poll is not supported by this libcurl"
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
numfds = (@numfds ||= ::FFI::MemoryPointer.new(:int))
|
|
195
|
+
code = Curl.multi_poll(handle, ::FFI::Pointer::NULL, 0, timeout_ms, numfds)
|
|
196
|
+
raise Errors::MultiPoll.new(code) unless code == :ok
|
|
197
|
+
|
|
198
|
+
numfds.read_int
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
# Wake up a multi handle blocked in curl_multi_poll.
|
|
202
|
+
#
|
|
203
|
+
# @return [ Symbol ] The Curl multi return code.
|
|
204
|
+
def wakeup
|
|
205
|
+
unless Curl.respond_to?(:multi_wakeup)
|
|
206
|
+
raise NotImplementedError, "curl_multi_wakeup is not supported by this libcurl"
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
code = Curl.multi_wakeup(handle)
|
|
210
|
+
raise Errors::MultiWakeup.new(code) unless code == :ok
|
|
211
|
+
|
|
212
|
+
code
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
# Continue execution with an external IO loop.
|
|
216
|
+
#
|
|
217
|
+
# @example When no sockets are ready yet, or to begin.
|
|
218
|
+
# multi.socket_action
|
|
219
|
+
#
|
|
220
|
+
# @example When a socket is readable
|
|
221
|
+
# multi.socket_action(io_object, [:in])
|
|
222
|
+
#
|
|
223
|
+
# @example When a socket is readable and writable
|
|
224
|
+
# multi.socket_action(io_object, [:in, :out])
|
|
225
|
+
#
|
|
226
|
+
# @param [ IO, Integer, nil ] io The socket to act on, or nil for the
|
|
227
|
+
# timeout case.
|
|
228
|
+
# @param [ Integer, Symbol, Array ] readiness CURL_CSELECT_* readiness
|
|
229
|
+
# bits, either as a number or as symbols such as :in and :out.
|
|
230
|
+
#
|
|
231
|
+
# @return [ Symbol ] The Curl.multi_socket_action return code.
|
|
232
|
+
def socket_action(io = nil, readiness = 0)
|
|
233
|
+
ensure_execution_mode(:socket_action)
|
|
234
|
+
ensure_not_cleaned_up!
|
|
235
|
+
ensure_not_executing!
|
|
236
|
+
|
|
237
|
+
fd = if io.nil?
|
|
238
|
+
::Ethon::Curl::SOCKET_TIMEOUT
|
|
239
|
+
elsif io.is_a?(Integer)
|
|
240
|
+
io
|
|
241
|
+
else
|
|
242
|
+
io.fileno
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
@executing = true
|
|
246
|
+
begin
|
|
247
|
+
code = Curl.multi_socket_action(handle, fd, readiness, @running_count_pointer)
|
|
248
|
+
@running_count = @running_count_pointer.read_int
|
|
249
|
+
|
|
250
|
+
check
|
|
251
|
+
|
|
252
|
+
code
|
|
253
|
+
ensure
|
|
254
|
+
@executing = false
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
# Return whether the multi still contains requests or not.
|
|
259
|
+
#
|
|
260
|
+
# @example Return if ongoing.
|
|
261
|
+
# multi.ongoing?
|
|
262
|
+
#
|
|
263
|
+
# @return [ Boolean ] True if ongoing, else false.
|
|
264
|
+
def ongoing?
|
|
265
|
+
stack.size > 0 || (running_count || 0) > 0
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
# Associate an arbitrary pointer with a socket in the multi handle.
|
|
269
|
+
#
|
|
270
|
+
# @param [ Integer, IO ] io The socket descriptor.
|
|
271
|
+
# @param [ FFI::Pointer, nil ] pointer The pointer to associate, or nil
|
|
272
|
+
# to clear it.
|
|
273
|
+
#
|
|
274
|
+
# @return [ Symbol ] The Curl multi return code.
|
|
275
|
+
def assign(io, pointer)
|
|
276
|
+
unless pointer.nil? || pointer.is_a?(::FFI::Pointer)
|
|
277
|
+
raise Errors::InvalidValue.new(:assign, pointer)
|
|
278
|
+
end
|
|
279
|
+
# A freed wrapper still looks like a pointer, but libcurl would keep
|
|
280
|
+
# the dangling address.
|
|
281
|
+
if pointer.is_a?(Ethon::Curl::OwnedPointer)
|
|
282
|
+
pointer.check_pid!
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
socket = io.respond_to?(:fileno) ? io.fileno : io
|
|
286
|
+
# FFI would reject a non-integer descriptor with a TypeError instead
|
|
287
|
+
# of the error Ethon uses for invalid option values.
|
|
288
|
+
unless socket.is_a?(Integer)
|
|
289
|
+
raise Errors::InvalidValue.new(:assign, io)
|
|
290
|
+
end
|
|
291
|
+
code = Curl.multi_assign(handle, socket, pointer)
|
|
292
|
+
raise Errors::MultiAssign.new(code) unless code == :ok
|
|
293
|
+
|
|
294
|
+
# libcurl keeps the pointer until the socket is removed or assigned
|
|
295
|
+
# again, so keep it alive from Ruby as well.
|
|
296
|
+
if pointer.nil? || pointer.null?
|
|
297
|
+
(@assigned_sockets ||= {}).delete(socket)
|
|
298
|
+
else
|
|
299
|
+
(@assigned_sockets ||= {})[socket] = pointer
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
code
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
# Return the easy handles currently attached natively.
|
|
306
|
+
#
|
|
307
|
+
# @return [ Array<FFI::Pointer> ] Native easy handles.
|
|
308
|
+
def native_handles
|
|
309
|
+
unless Curl.respond_to?(:multi_get_handles)
|
|
310
|
+
raise NotImplementedError, "curl_multi_get_handles is not supported by this libcurl"
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
pointer = Curl.multi_get_handles(handle)
|
|
314
|
+
raise NoMemoryError, "curl_multi_get_handles failed" if pointer.null?
|
|
315
|
+
|
|
316
|
+
begin
|
|
317
|
+
handles = []
|
|
318
|
+
offset = 0
|
|
319
|
+
loop do
|
|
320
|
+
easy = pointer.get_pointer(offset)
|
|
321
|
+
break if easy.null?
|
|
322
|
+
|
|
323
|
+
handles << easy
|
|
324
|
+
offset += ::FFI.type_size(:pointer)
|
|
325
|
+
end
|
|
326
|
+
handles
|
|
327
|
+
ensure
|
|
328
|
+
Curl.free(pointer)
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
private
|
|
333
|
+
|
|
334
|
+
def ensure_not_cleaned_up!
|
|
335
|
+
return unless @cleaned_up
|
|
336
|
+
raise Errors::EthonError, "Multi has been cleaned up"
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
def ensure_not_executing!
|
|
340
|
+
return unless @executing
|
|
341
|
+
|
|
342
|
+
raise Errors::EthonError, "Multi is currently executing; wait for it to finish"
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
# Get timeout.
|
|
346
|
+
#
|
|
347
|
+
# @example Get timeout.
|
|
348
|
+
# multi.get_timeout
|
|
349
|
+
#
|
|
350
|
+
# @return [ Integer ] The timeout.
|
|
351
|
+
#
|
|
352
|
+
# @raise [ Ethon::Errors::MultiTimeout ] If getting the timeout fails.
|
|
353
|
+
def get_timeout
|
|
354
|
+
code = Curl.multi_timeout(handle, @timeout)
|
|
355
|
+
raise Errors::MultiTimeout.new(code) unless code == :ok
|
|
356
|
+
timeout = @timeout.read_long
|
|
357
|
+
timeout = 1 if timeout < 0
|
|
358
|
+
timeout
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
# Reset file describtors.
|
|
362
|
+
#
|
|
363
|
+
# @example Reset fds.
|
|
364
|
+
# multi.reset_fds
|
|
365
|
+
#
|
|
366
|
+
# @return [ void ]
|
|
367
|
+
def reset_fds
|
|
368
|
+
@fd_read.clear
|
|
369
|
+
@fd_write.clear
|
|
370
|
+
@fd_excep.clear
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
# Set fds.
|
|
374
|
+
#
|
|
375
|
+
# @example Set fds.
|
|
376
|
+
# multi.set_fds
|
|
377
|
+
#
|
|
378
|
+
# @return [ void ]
|
|
379
|
+
#
|
|
380
|
+
# @raise [ Ethon::Errors::MultiFdset ] If setting the file descriptors fails.
|
|
381
|
+
# @raise [ Ethon::Errors::Select ] If select fails.
|
|
382
|
+
def set_fds(timeout)
|
|
383
|
+
code = Curl.multi_fdset(handle, @fd_read, @fd_write, @fd_excep, @max_fd)
|
|
384
|
+
raise Errors::MultiFdset.new(code) unless code == :ok
|
|
385
|
+
max_fd = @max_fd.read_int
|
|
386
|
+
if max_fd == -1
|
|
387
|
+
# No sockets are ready; wait for the timer instead of spinning.
|
|
388
|
+
sleep(timeout / 1000.0)
|
|
389
|
+
else
|
|
390
|
+
@timeval[:sec] = timeout / 1000
|
|
391
|
+
@timeval[:usec] = (timeout * 1000) % 1000000
|
|
392
|
+
loop do
|
|
393
|
+
code = Curl.select(max_fd + 1, @fd_read, @fd_write, @fd_excep, @timeval)
|
|
394
|
+
break unless code < 0 && ::FFI.errno == Errno::EINTR::Errno
|
|
395
|
+
end
|
|
396
|
+
raise Errors::Select.new(::FFI.errno) if code < 0
|
|
397
|
+
end
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
# Check.
|
|
401
|
+
#
|
|
402
|
+
# @example Check.
|
|
403
|
+
# multi.check
|
|
404
|
+
#
|
|
405
|
+
# @return [ void ]
|
|
406
|
+
def check
|
|
407
|
+
msgs_left = (@msgs_left ||= ::FFI::MemoryPointer.new(:int))
|
|
408
|
+
while true
|
|
409
|
+
msg = Curl.multi_info_read(handle, msgs_left)
|
|
410
|
+
break if msg.null?
|
|
411
|
+
next if msg[:code] != :done
|
|
412
|
+
easy = stack.find{ |e| e.handle == msg[:easy_handle] }
|
|
413
|
+
# The handle may have been removed between the transfer finishing and
|
|
414
|
+
# the completion message being read.
|
|
415
|
+
next unless easy
|
|
416
|
+
easy.return_code = msg[:data][:code]
|
|
417
|
+
Ethon.logger.debug { "ETHON: performed #{easy.log_inspect}" }
|
|
418
|
+
# delete finishes the transfer's response stream. A failed close or
|
|
419
|
+
# flush must not keep on_complete from running; raise it afterwards.
|
|
420
|
+
teardown_error = nil
|
|
421
|
+
begin
|
|
422
|
+
delete(easy)
|
|
423
|
+
rescue Exception => exception
|
|
424
|
+
# A handle that libcurl still owns must stay tracked for cleanup.
|
|
425
|
+
raise if stack.include?(easy)
|
|
426
|
+
|
|
427
|
+
teardown_error = exception
|
|
428
|
+
end
|
|
429
|
+
easy.complete
|
|
430
|
+
easy.raise_callback_error
|
|
431
|
+
raise teardown_error if teardown_error
|
|
432
|
+
end
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
# Run.
|
|
436
|
+
#
|
|
437
|
+
# @example Run
|
|
438
|
+
# multi.run
|
|
439
|
+
#
|
|
440
|
+
# @return [ void ]
|
|
441
|
+
def run
|
|
442
|
+
running_count_pointer = (@running_count_pointer ||= ::FFI::MemoryPointer.new(:int))
|
|
443
|
+
begin code = trigger(running_count_pointer) end while code == :call_multi_perform
|
|
444
|
+
raise Errors::MultiPerform.new(code) unless code == :ok
|
|
445
|
+
|
|
446
|
+
check
|
|
447
|
+
end
|
|
448
|
+
|
|
449
|
+
# Trigger.
|
|
450
|
+
#
|
|
451
|
+
# @example Trigger.
|
|
452
|
+
# multi.trigger
|
|
453
|
+
#
|
|
454
|
+
# @return [ Symbol ] The Curl.multi_perform return code.
|
|
455
|
+
def trigger(running_count_pointer)
|
|
456
|
+
code = Curl.multi_perform(handle, running_count_pointer)
|
|
457
|
+
@running_count = running_count_pointer.read_int
|
|
458
|
+
code
|
|
459
|
+
end
|
|
460
|
+
|
|
461
|
+
# Return number of running requests.
|
|
462
|
+
#
|
|
463
|
+
# @example Return count.
|
|
464
|
+
# multi.running_count
|
|
465
|
+
#
|
|
466
|
+
# @return [ Integer ] Number running requests.
|
|
467
|
+
def running_count
|
|
468
|
+
@running_count
|
|
469
|
+
end
|
|
470
|
+
end
|
|
471
|
+
end
|
|
472
|
+
end
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module Ethon
|
|
3
|
+
class Multi
|
|
4
|
+
|
|
5
|
+
# This module contains the logic and knowledge about the
|
|
6
|
+
# available options on multi.
|
|
7
|
+
module Options
|
|
8
|
+
|
|
9
|
+
# Sets max_total_connections option.
|
|
10
|
+
#
|
|
11
|
+
# @example Set max_total_connections option.
|
|
12
|
+
# multi.max_total_connections = $value
|
|
13
|
+
#
|
|
14
|
+
# @param [ Integer ] value The value to set.
|
|
15
|
+
#
|
|
16
|
+
# @return [ void ]
|
|
17
|
+
def max_total_connections=(value)
|
|
18
|
+
Curl.set_option(:max_total_connections, value_for(value, :int, :max_total_connections), handle, :multi)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Sets max_concurrent_streams option.
|
|
22
|
+
#
|
|
23
|
+
# @example Set max_concurrent_streams option.
|
|
24
|
+
# multi.max_concurrent_streams = $value
|
|
25
|
+
#
|
|
26
|
+
# @param [ Integer ] value The value to set.
|
|
27
|
+
#
|
|
28
|
+
# @return [ void ]
|
|
29
|
+
def max_concurrent_streams=(value)
|
|
30
|
+
Curl.set_option(:max_concurrent_streams, value_for(value, :int, :max_concurrent_streams), handle, :multi)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Sets maxconnects option.
|
|
34
|
+
#
|
|
35
|
+
# An explicit value also disables the automatic sizing described in
|
|
36
|
+
# #raise_default_maxconnects.
|
|
37
|
+
#
|
|
38
|
+
# @example Set maxconnects option.
|
|
39
|
+
# multi.maxconnects = $value
|
|
40
|
+
#
|
|
41
|
+
# @param [ Integer ] value The value to set.
|
|
42
|
+
#
|
|
43
|
+
# @return [ void ]
|
|
44
|
+
def maxconnects=(value)
|
|
45
|
+
@maxconnects_configured = true unless value.nil?
|
|
46
|
+
set_maxconnects(value)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Sets max_host_connections option.
|
|
50
|
+
#
|
|
51
|
+
# @example Set max_host_connections option.
|
|
52
|
+
# multi.max_host_connections = $value
|
|
53
|
+
#
|
|
54
|
+
# @param [ Integer ] value The value to set.
|
|
55
|
+
#
|
|
56
|
+
# @return [ void ]
|
|
57
|
+
def max_host_connections=(value)
|
|
58
|
+
Curl.set_option(:max_host_connections, value_for(value, :int, :max_host_connections), handle, :multi)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Sets max_pipeline_length option.
|
|
62
|
+
#
|
|
63
|
+
# @example Set max_pipeline_length option.
|
|
64
|
+
# multi.max_pipeline_length = $value
|
|
65
|
+
#
|
|
66
|
+
# @param [ Integer ] value The value to set.
|
|
67
|
+
#
|
|
68
|
+
# @return [ void ]
|
|
69
|
+
def max_pipeline_length=(value)
|
|
70
|
+
Curl.set_option(:max_pipeline_length, value_for(value, :int, :max_pipeline_length), handle, :multi)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Sets content_length_penalty_size option.
|
|
74
|
+
#
|
|
75
|
+
# @example Set content_length_penalty_size option.
|
|
76
|
+
# multi.content_length_penalty_size = $value
|
|
77
|
+
#
|
|
78
|
+
# @param [ Integer ] value The value to set.
|
|
79
|
+
#
|
|
80
|
+
# @return [ void ]
|
|
81
|
+
def content_length_penalty_size=(value)
|
|
82
|
+
Curl.set_option(:content_length_penalty_size, value, handle, :multi)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Sets chunk_length_penalty_size option.
|
|
86
|
+
#
|
|
87
|
+
# @example Set chunk_length_penalty_size option.
|
|
88
|
+
# multi.chunk_length_penalty_size = $value
|
|
89
|
+
#
|
|
90
|
+
# @param [ Integer ] value The value to set.
|
|
91
|
+
#
|
|
92
|
+
# @return [ void ]
|
|
93
|
+
def chunk_length_penalty_size=(value)
|
|
94
|
+
Curl.set_option(:chunk_length_penalty_size, value, handle, :multi)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Sets pipelining option.
|
|
98
|
+
#
|
|
99
|
+
# @example Set pipelining option.
|
|
100
|
+
# multi.pipelining = $value
|
|
101
|
+
#
|
|
102
|
+
# @param [ Integer ] value The value to set.
|
|
103
|
+
#
|
|
104
|
+
# @return [ void ]
|
|
105
|
+
def pipelining=(value)
|
|
106
|
+
Curl.set_option(:pipelining, value_for(value, :int, :pipelining), handle, :multi)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Sets socketdata option.
|
|
110
|
+
#
|
|
111
|
+
# @example Set socketdata option.
|
|
112
|
+
# multi.socketdata = $value
|
|
113
|
+
#
|
|
114
|
+
# @param [ FFI::Pointer, nil ] value The value to set.
|
|
115
|
+
#
|
|
116
|
+
# @return [ void ]
|
|
117
|
+
def socketdata=(value)
|
|
118
|
+
Curl.set_option(:socketdata, value_for(value, :string), handle, :multi)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# Sets socketfunction option.
|
|
122
|
+
#
|
|
123
|
+
# @example Set socketfunction option.
|
|
124
|
+
# multi.socketfunction = $value
|
|
125
|
+
#
|
|
126
|
+
# @param [ Proc, nil ] value The value to set.
|
|
127
|
+
#
|
|
128
|
+
# @return [ void ]
|
|
129
|
+
def socketfunction=(value)
|
|
130
|
+
Curl.set_option(:socketfunction, value_for(value, :string), handle, :multi)
|
|
131
|
+
retain_callback(:socketfunction, value)
|
|
132
|
+
value
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# Sets timerdata option.
|
|
136
|
+
#
|
|
137
|
+
# @example Set timerdata option.
|
|
138
|
+
# multi.timerdata = $value
|
|
139
|
+
#
|
|
140
|
+
# @param [ FFI::Pointer, nil ] value The value to set.
|
|
141
|
+
#
|
|
142
|
+
# @return [ void ]
|
|
143
|
+
def timerdata=(value)
|
|
144
|
+
Curl.set_option(:timerdata, value_for(value, :string), handle, :multi)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Sets timerfunction option.
|
|
148
|
+
#
|
|
149
|
+
# @example Set timerfunction option.
|
|
150
|
+
# multi.timerfunction = $value
|
|
151
|
+
#
|
|
152
|
+
# @param [ Proc, nil ] value The value to set.
|
|
153
|
+
#
|
|
154
|
+
# @return [ void ]
|
|
155
|
+
def timerfunction=(value)
|
|
156
|
+
Curl.set_option(:timerfunction, value_for(value, :string), handle, :multi)
|
|
157
|
+
retain_callback(:timerfunction, value)
|
|
158
|
+
value
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
private
|
|
162
|
+
|
|
163
|
+
# Raise the default connection cache size to twice the largest number
|
|
164
|
+
# of easy handles ever attached at once.
|
|
165
|
+
#
|
|
166
|
+
# libcurl derives its default from the number of handles attached when
|
|
167
|
+
# a connection is returned. Ethon detaches each handle as soon as its
|
|
168
|
+
# transfer finishes, so that number falls during a run and libcurl
|
|
169
|
+
# closes connections that later requests could have reused.
|
|
170
|
+
#
|
|
171
|
+
# @param [ Integer ] count The number of attached handles after the
|
|
172
|
+
# pending add.
|
|
173
|
+
#
|
|
174
|
+
# @return [ void ]
|
|
175
|
+
def raise_default_maxconnects(count)
|
|
176
|
+
return if @maxconnects_configured
|
|
177
|
+
return if count <= (@maxconnects_high_water ||= 0)
|
|
178
|
+
|
|
179
|
+
@maxconnects_high_water = count
|
|
180
|
+
set_maxconnects(2 * count)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def set_maxconnects(value)
|
|
184
|
+
Curl.set_option(:maxconnects, value_for(value, :int, :maxconnects), handle, :multi)
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
def retain_callback(option, callback)
|
|
188
|
+
if callback.nil?
|
|
189
|
+
@procs.delete(option) if @procs
|
|
190
|
+
else
|
|
191
|
+
(@procs ||= {})[option] = callback
|
|
192
|
+
end
|
|
193
|
+
Curl::MultiHandle.retain_callback(handle, option, callback)
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# Return the value to set to multi handle. It is converted with the help
|
|
197
|
+
# of bool_options, enum_options and int_options.
|
|
198
|
+
#
|
|
199
|
+
# @example Return casted the value.
|
|
200
|
+
# multi.value_for(:verbose)
|
|
201
|
+
#
|
|
202
|
+
# @return [ Object ] The casted value.
|
|
203
|
+
def value_for(value, type, option = nil)
|
|
204
|
+
return nil if value.nil?
|
|
205
|
+
|
|
206
|
+
if type == :bool
|
|
207
|
+
value ? 1 : 0
|
|
208
|
+
elsif type == :int
|
|
209
|
+
Ethon::Curls::Options.integer_value(option, value)
|
|
210
|
+
elsif value.is_a?(String)
|
|
211
|
+
Ethon::Easy::Util.escape_zero_byte(value)
|
|
212
|
+
else
|
|
213
|
+
value
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
end
|