Class: ApimaticApi::Client
- Inherits:
-
Object
- Object
- ApimaticApi::Client
- Includes:
- CoreLibrary
- Defined in:
- lib/apimatic_api/client.rb
Overview
apimatic_api client class.
Instance Attribute Summary collapse
-
#auth_managers ⇒ Object
readonly
Returns the value of attribute auth_managers.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Class Method Summary collapse
-
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
Instance Method Summary collapse
-
#api_validation_external_apis ⇒ ApiValidationExternalApisController
Access to api_validation_external_apis controller.
-
#api_validation_v2_external_apis ⇒ ApiValidationV2ExternalApisController
Access to api_validation_v2_external_apis controller.
-
#code_generation_external_apis ⇒ CodeGenerationExternalApisController
Access to code_generation_external_apis controller.
-
#docs_portal_generation_async ⇒ DocsPortalGenerationAsyncController
Access to docs_portal_generation_async controller.
-
#docs_portal_management ⇒ DocsPortalManagementController
Access to docs_portal_management controller.
-
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, custom_url: 'https://localhost:44301/api', custom_header_authentication_credentials: nil, user_agent: 'TODO: Replace', config: nil) ⇒ Client
constructor
A new instance of Client.
-
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
-
#sdk_generation_async ⇒ SdkGenerationAsyncController
Access to sdk_generation_async controller.
-
#transformation ⇒ TransformationController
Access to transformation controller.
Constructor Details
#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put],, http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, custom_url: 'https://localhost:44301/api', custom_header_authentication_credentials: nil, user_agent: 'TODO: Replace', config: nil) ⇒ Client
Returns a new instance of Client.
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/apimatic_api/client.rb', line 54 def initialize( connection: nil, adapter: :net_http_persistent, timeout: 30, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put], http_callback: nil, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, custom_url: 'https://localhost:44301/api', custom_header_authentication_credentials: nil, user_agent: 'TODO: Replace', config: nil ) @config = if config.nil? Configuration.new( connection: connection, adapter: adapter, timeout: timeout, max_retries: max_retries, retry_interval: retry_interval, backoff_factor: backoff_factor, retry_statuses: retry_statuses, retry_methods: retry_methods, http_callback: http_callback, proxy_settings: proxy_settings, logging_configuration: logging_configuration, environment: environment, custom_url: custom_url, custom_header_authentication_credentials: custom_header_authentication_credentials, user_agent: user_agent ) else config end @global_configuration = GlobalConfiguration.new(client_configuration: @config) .base_uri_executor(@config.method(:get_base_uri)) .global_errors(BaseController::GLOBAL_ERRORS) .global_header('user-agent', @config.user_agent) initialize_auth_managers(@global_configuration) @global_configuration = @global_configuration.auth_managers(@auth_managers) end |
Instance Attribute Details
#auth_managers ⇒ Object (readonly)
Returns the value of attribute auth_managers.
10 11 12 |
# File 'lib/apimatic_api/client.rb', line 10 def auth_managers @auth_managers end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
10 11 12 |
# File 'lib/apimatic_api/client.rb', line 10 def config @config end |
Class Method Details
.from_env(**overrides) ⇒ Object
Creates a client directly from environment variables.
102 103 104 105 106 |
# File 'lib/apimatic_api/client.rb', line 102 def self.from_env(**overrides) default_config = Configuration.build_default_config_from_env new_config = default_config.clone_with(**overrides) new(config: new_config) end |
Instance Method Details
#api_validation_external_apis ⇒ ApiValidationExternalApisController
Access to api_validation_external_apis controller.
38 39 40 |
# File 'lib/apimatic_api/client.rb', line 38 def api_validation_external_apis @api_validation_external_apis ||= ApiValidationExternalApisController.new @global_configuration end |
#api_validation_v2_external_apis ⇒ ApiValidationV2ExternalApisController
Access to api_validation_v2_external_apis controller.
44 45 46 |
# File 'lib/apimatic_api/client.rb', line 44 def api_validation_v2_external_apis @api_validation_v2_external_apis ||= ApiValidationV2ExternalApisController.new @global_configuration end |
#code_generation_external_apis ⇒ CodeGenerationExternalApisController
Access to code_generation_external_apis controller.
14 15 16 |
# File 'lib/apimatic_api/client.rb', line 14 def code_generation_external_apis @code_generation_external_apis ||= CodeGenerationExternalApisController.new @global_configuration end |
#docs_portal_generation_async ⇒ DocsPortalGenerationAsyncController
Access to docs_portal_generation_async controller.
32 33 34 |
# File 'lib/apimatic_api/client.rb', line 32 def docs_portal_generation_async @docs_portal_generation_async ||= DocsPortalGenerationAsyncController.new @global_configuration end |
#docs_portal_management ⇒ DocsPortalManagementController
Access to docs_portal_management controller.
26 27 28 |
# File 'lib/apimatic_api/client.rb', line 26 def docs_portal_management @docs_portal_management ||= DocsPortalManagementController.new @global_configuration end |
#initialize_auth_managers(global_config) ⇒ Object
Initializes the auth managers hash used for authenticating API calls.
92 93 94 95 96 97 98 99 |
# File 'lib/apimatic_api/client.rb', line 92 def initialize_auth_managers(global_config) @auth_managers = {} http_client_config = global_config.client_configuration %w[Authorization].each { |auth| @auth_managers[auth] = nil } @auth_managers['Authorization'] = CustomHeaderAuthentication.new( http_client_config.custom_header_authentication_credentials ) end |
#sdk_generation_async ⇒ SdkGenerationAsyncController
Access to sdk_generation_async controller.
50 51 52 |
# File 'lib/apimatic_api/client.rb', line 50 def sdk_generation_async @sdk_generation_async ||= SdkGenerationAsyncController.new @global_configuration end |
#transformation ⇒ TransformationController
Access to transformation controller.
20 21 22 |
# File 'lib/apimatic_api/client.rb', line 20 def transformation @transformation ||= TransformationController.new @global_configuration end |