Class: Apcera::Configuration
- Inherits:
-
Object
- Object
- Apcera::Configuration
- Includes:
- Singleton
- Defined in:
- lib/apcera/configuration.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Default api client.
-
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
-
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
-
#base_path ⇒ Object
Defines url base path.
-
#cert_file ⇒ Object
Client certificate file (for client certificate).
-
#debugging ⇒ true, false
Set this to enable/disable debugging.
-
#force_ending_format ⇒ Object
Returns the value of attribute force_ending_format.
-
#host ⇒ Object
Defines url host.
-
#inject_format ⇒ Object
Returns the value of attribute inject_format.
-
#key_file ⇒ Object
Client private key file (for client certificate).
-
#logger ⇒ #debug
Defines the logger used for debugging.
-
#password ⇒ String
Defines the password used with HTTP basic authentication.
-
#scheme ⇒ Object
Defines url scheme.
-
#ssl_ca_cert ⇒ String
Set this to customize the certificate file to verify the peer.
-
#temp_folder_path ⇒ String
Defines the temporary folder to store downloaded files (for API endpoints that have file response).
-
#username ⇒ String
Defines the username used with HTTP basic authentication.
-
#verify_ssl ⇒ true, false
TLS/SSL Set this to false to skip verifying SSL certificate when calling API from https server.
Class Method Summary collapse
Instance Method Summary collapse
-
#api_key_with_prefix(param_name) ⇒ Object
Gets API key (with prefix if set).
-
#auth_settings ⇒ Object
Returns Auth Settings hash for api client.
- #base_url ⇒ Object
-
#basic_auth_token ⇒ Object
Gets Basic Auth token string.
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/apcera/configuration.rb', line 105 def initialize @scheme = 'https' @host = 'apiDoc.zeppole.buffalo.im' @base_path = '/v1' @api_key = {} @api_key_prefix = {} @verify_ssl = true @cert_file = nil @key_file = nil @debugging = false @inject_format = false @force_ending_format = false @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT) end |
Instance Attribute Details
#api_client ⇒ Object
Default api client
10 11 12 |
# File 'lib/apcera/configuration.rb', line 10 def api_client @api_client end |
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
27 28 29 |
# File 'lib/apcera/configuration.rb', line 27 def api_key @api_key end |
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
35 36 37 |
# File 'lib/apcera/configuration.rb', line 35 def api_key_prefix @api_key_prefix end |
#base_path ⇒ Object
Defines url base path
19 20 21 |
# File 'lib/apcera/configuration.rb', line 19 def base_path @base_path end |
#cert_file ⇒ Object
Client certificate file (for client certificate)
85 86 87 |
# File 'lib/apcera/configuration.rb', line 85 def cert_file @cert_file end |
#debugging ⇒ true, false
Set this to enable/disable debugging. When enabled (set to true), HTTP request/response details will be logged with ‘logger.debug` (see the `logger` attribute). Default to false.
52 53 54 |
# File 'lib/apcera/configuration.rb', line 52 def debugging @debugging end |
#force_ending_format ⇒ Object
Returns the value of attribute force_ending_format.
92 93 94 |
# File 'lib/apcera/configuration.rb', line 92 def force_ending_format @force_ending_format end |
#host ⇒ Object
Defines url host
16 17 18 |
# File 'lib/apcera/configuration.rb', line 16 def host @host end |
#inject_format ⇒ Object
Returns the value of attribute inject_format.
90 91 92 |
# File 'lib/apcera/configuration.rb', line 90 def inject_format @inject_format end |
#key_file ⇒ Object
Client private key file (for client certificate)
88 89 90 |
# File 'lib/apcera/configuration.rb', line 88 def key_file @key_file end |
#logger ⇒ #debug
Defines the logger used for debugging. Default to ‘Rails.logger` (when in Rails) or logging to STDOUT.
58 59 60 |
# File 'lib/apcera/configuration.rb', line 58 def logger @logger end |
#password ⇒ String
Defines the password used with HTTP basic authentication.
45 46 47 |
# File 'lib/apcera/configuration.rb', line 45 def password @password end |
#scheme ⇒ Object
Defines url scheme
13 14 15 |
# File 'lib/apcera/configuration.rb', line 13 def scheme @scheme end |
#ssl_ca_cert ⇒ String
Set this to customize the certificate file to verify the peer.
github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145
82 83 84 |
# File 'lib/apcera/configuration.rb', line 82 def ssl_ca_cert @ssl_ca_cert end |
#temp_folder_path ⇒ String
Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use ‘Tempfile`.
65 66 67 |
# File 'lib/apcera/configuration.rb', line 65 def temp_folder_path @temp_folder_path end |
#username ⇒ String
Defines the username used with HTTP basic authentication.
40 41 42 |
# File 'lib/apcera/configuration.rb', line 40 def username @username end |
#verify_ssl ⇒ true, false
Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
TLS/SSL Set this to false to skip verifying SSL certificate when calling API from https server. Default to true.
74 75 76 |
# File 'lib/apcera/configuration.rb', line 74 def verify_ssl @verify_ssl end |
Class Method Details
.method_missing(method_name, *args, &block) ⇒ Object
95 96 97 98 99 100 101 102 |
# File 'lib/apcera/configuration.rb', line 95 def method_missing(method_name, *args, &block) config = Configuration.instance if config.respond_to?(method_name) config.send(method_name, *args, &block) else super end end |
Instance Method Details
#api_key_with_prefix(param_name) ⇒ Object
Gets API key (with prefix if set).
147 148 149 150 151 152 153 |
# File 'lib/apcera/configuration.rb', line 147 def api_key_with_prefix(param_name) if @api_key_prefix[param_name] "#{@api_key_prefix[param_name]} #{@api_key[param_name]}" else @api_key[param_name] end end |
#auth_settings ⇒ Object
Returns Auth Settings hash for api client.
161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/apcera/configuration.rb', line 161 def auth_settings { 'authorization' => { type: 'api_key', in: 'header', key: 'authorization', value: api_key_with_prefix('authorization') }, } end |
#base_url ⇒ Object
140 141 142 143 |
# File 'lib/apcera/configuration.rb', line 140 def base_url url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}" URI.encode(url) end |
#basic_auth_token ⇒ Object
Gets Basic Auth token string
156 157 158 |
# File 'lib/apcera/configuration.rb', line 156 def basic_auth_token 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n") end |