class Cantemo::Portal::API::Client
Public Class Methods
new(args = { })
click to toggle source
# File lib/cantemo/portal/api/client.rb, line 10 def self.new(args = { }) api_host = args[:host] api_port = args[:port] api_host_use_ssl = args[:ssl] api_username = args[:username] api_password = args[:password] api_auth_token = args[:api_auth_token] api_base_path = args[:api_base_path] api_default_query_data = args[:default_query_data] api_log_level = args[:log_level] api_log_to = args[:log_to] api_logger = args[:logger] api_url = args[:url] || args[:uri] if api_url api_uri = URI(api_url) api_host ||= api_uri.host api_port ||= api_uri.port api_userinfo = api_uri.userinfo if api_userinfo _api_username, _api_password = api_userinfo.split(':') api_username ||= _api_username api_password ||= _api_password end api_host_use_ssl = api_uri.scheme == 'https' if api_host_use_ssl.nil? api_uri_query = api_uri.query api_default_query_data ||= Hash[api_uri_query.split('&').map { |kp| kp.split('=') }] api_base_path ||= api_uri.path end api_port ||= (api_host_use_ssl ? 443 : 80) api_base_path ||= '/' api_endpoint_prefix = 'VSAPI' api_noauth_endpoint_prefix = 'APInoauth' client_args = {} client_args[:http_host_address] = api_host if api_host client_args[:http_host_port] = api_port if api_port client_args[:http_host_use_ssl] = api_host_use_ssl if api_host_use_ssl client_args[:username] = api_username if api_username client_args[:password] = api_password if api_password client_args[:default_base_path] = api_base_path if api_base_path client_args[:default_query_data] = api_default_query_data if api_default_query_data client_args[:api_endpoint_prefix] = api_endpoint_prefix client_args[:api_noauth_endpoint_prefix] = api_noauth_endpoint_prefix client_args[:log_level] = api_log_level if api_log_level client_args[:log_to] = api_log_to if api_log_to client_args[:logger] = api_logger if api_logger if api_auth_token # Cantemo Portal supports an auth token for authentication, replace basic auth with auth-token client_args[:authorization_header_key] = 'Auth-Token' client_args[:authorization_header_value] = api_auth_token end _client = ::Vidispine::API::Utilities.new(client_args) _client.http_client.user_agent = "Cantemo Portal Agent v#{Cantemo::Portal::Agent::VERSION} - #{_client.http_client.user_agent}" _client end