Class: AsposeEmailCloud::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/aspose-email-cloud/configuration.rb

Overview

Class which contains configuration parameters

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client_secret = nil, client_id = nil, base_url = 'api-qa.aspose.cloud', api_version = 'v4.0', debug = false) {|_self| ... } ⇒ Configuration

Initializes a new instance.

Parameters:

  • client_secret (String) (defaults to: nil)

    Key to access the server.

  • client_id (String) (defaults to: nil)

    ID to access the server.

  • base_url (String) (defaults to: 'api-qa.aspose.cloud')

    Server URL.

  • api_version (String) (defaults to: 'v4.0')

    Api version.

  • debug (Object) (defaults to: false)

    Debug switch [true, false].

Yields:

  • (_self)

Yield Parameters:



160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# File 'lib/aspose-email-cloud/configuration.rb', line 160

def initialize(client_secret = nil, client_id = nil, base_url = 'api-qa.aspose.cloud', api_version = 'v4.0', debug = false)
  @scheme = 'https'
  self.host = base_url
  self.auth_url = base_url
  @api_version = api_version
  self.base_path = @api_version
  @client_credentials = { 'client_secret': client_secret || '',
                          'client_id': client_id || '' }
  @api_key_prefix = {}
  @timeout = 0
  @client_side_validation = true
  @verify_ssl = true
  @verify_ssl_host = true
  @params_encoding = nil
  @cert_file = nil
  @key_file = nil
  @debugging = debug
  @inject_format = false
  @force_ending_format = false
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
  @on_premise = (!(client_secret || client_id) && base_url)

  yield(self) if block_given?
end

Instance Attribute Details

#access_tokenObject

Defines the access token (Bearer) used with OAuth2.



77
78
79
# File 'lib/aspose-email-cloud/configuration.rb', line 77

def access_token
  @access_token
end

#api_key_prefixHash

Defines API key prefixes used with API Key authentications.

Examples:

parameter name is “Authorization”, API key prefix is “Token” (e.g. “Authorization: Token xxx” in headers)

config.api_key_prefix['api_key'] = 'Token'

Returns:

  • (Hash)

    key: parameter name, value: API key prefix



64
65
66
# File 'lib/aspose-email-cloud/configuration.rb', line 64

def api_key_prefix
  @api_key_prefix
end

#api_versionObject

Defines api version



48
49
50
# File 'lib/aspose-email-cloud/configuration.rb', line 48

def api_version
  @api_version
end

#auth_urlObject

Defines auth url



42
43
44
# File 'lib/aspose-email-cloud/configuration.rb', line 42

def auth_url
  @auth_url
end

#base_pathObject

Defines url base path



45
46
47
# File 'lib/aspose-email-cloud/configuration.rb', line 45

def base_path
  @base_path
end

#cert_fileObject

TLS/SSL setting Client certificate file (for client certificate)



137
138
139
# File 'lib/aspose-email-cloud/configuration.rb', line 137

def cert_file
  @cert_file
end

#client_credentialsHash

Defines API keys used with API Key authentications.

Examples:

parameter name is “client_secret”, API key is “xxx” (e.g. “client_secret=xxx” in query string)

config.client_secret['client_secret'] = 'xxx'

Returns:

  • (Hash)

    key: parameter name, value: parameter value (API key)



56
57
58
# File 'lib/aspose-email-cloud/configuration.rb', line 56

def client_credentials
  @client_credentials
end

#client_side_validationtrue, false

Set this to false to skip client side validation in the operation. Default to true.

Returns:

  • (true, false)


106
107
108
# File 'lib/aspose-email-cloud/configuration.rb', line 106

def client_side_validation
  @client_side_validation
end

#debuggingtrue, 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.

Returns:

  • (true, false)


84
85
86
# File 'lib/aspose-email-cloud/configuration.rb', line 84

def debugging
  @debugging
end

#force_ending_formatObject

Returns the value of attribute force_ending_format.



152
153
154
# File 'lib/aspose-email-cloud/configuration.rb', line 152

def force_ending_format
  @force_ending_format
end

#hostObject

Defines url host



39
40
41
# File 'lib/aspose-email-cloud/configuration.rb', line 39

def host
  @host
end

#inject_formatObject

Returns the value of attribute inject_format.



150
151
152
# File 'lib/aspose-email-cloud/configuration.rb', line 150

def inject_format
  @inject_format
end

#key_fileObject

TLS/SSL setting Client private key file (for client certificate)



141
142
143
# File 'lib/aspose-email-cloud/configuration.rb', line 141

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.

Returns:

  • (#debug)


90
91
92
# File 'lib/aspose-email-cloud/configuration.rb', line 90

def logger
  @logger
end

#on_premiseObject

Returns the value of attribute on_premise.



33
34
35
# File 'lib/aspose-email-cloud/configuration.rb', line 33

def on_premise
  @on_premise
end

#params_encodingObject

Set this to customize parameters encoding of array parameter with multi collectionFormat. Default to nil.

github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96

See Also:

  • params_encoding option of Ethon. Related source code:


148
149
150
# File 'lib/aspose-email-cloud/configuration.rb', line 148

def params_encoding
  @params_encoding
end

#passwordString

Defines the password used with HTTP basic authentication.

Returns:

  • (String)


74
75
76
# File 'lib/aspose-email-cloud/configuration.rb', line 74

def password
  @password
end

#schemeObject

Defines url scheme



36
37
38
# File 'lib/aspose-email-cloud/configuration.rb', line 36

def scheme
  @scheme
end

#ssl_ca_certString

TLS/SSL setting Set this to customize the certificate file to verify the peer.

github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145

Returns:

  • (String)

    the path to the certificate file

See Also:

  • `cainfo` option of Typhoeus, `--cert` option of libcurl. Related source code:


133
134
135
# File 'lib/aspose-email-cloud/configuration.rb', line 133

def ssl_ca_cert
  @ssl_ca_cert
end

#temp_folder_pathString

Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use ‘Tempfile`.

Returns:

  • (String)


97
98
99
# File 'lib/aspose-email-cloud/configuration.rb', line 97

def temp_folder_path
  @temp_folder_path
end

#timeoutObject

The time limit for HTTP request in seconds. Default to 0 (never times out).



101
102
103
# File 'lib/aspose-email-cloud/configuration.rb', line 101

def timeout
  @timeout
end

#usernameString

Defines the username used with HTTP basic authentication.

Returns:

  • (String)


69
70
71
# File 'lib/aspose-email-cloud/configuration.rb', line 69

def username
  @username
end

#verify_ssltrue, false

Note:

Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.

TLS/SSL setting Set this to false to skip verifying SSL certificate when calling API from https server. Default to true.

Returns:

  • (true, false)


115
116
117
# File 'lib/aspose-email-cloud/configuration.rb', line 115

def verify_ssl
  @verify_ssl
end

#verify_ssl_hosttrue, false

Note:

Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.

TLS/SSL setting Set this to false to skip verifying SSL host name Default to true.

Returns:

  • (true, false)


124
125
126
# File 'lib/aspose-email-cloud/configuration.rb', line 124

def verify_ssl_host
  @verify_ssl_host
end

Instance Method Details

#api_key_with_prefix(param_name) ⇒ Object

Gets API key (with prefix if set).

Parameters:

  • param_name (String)

    the parameter name of API key auth



214
215
216
217
218
219
220
# File 'lib/aspose-email-cloud/configuration.rb', line 214

def api_key_with_prefix(param_name)
  if @api_key_prefix[param_name]
    "#{@api_key_prefix[param_name]} #{@client_credentials[param_name]}"
  else
    @client_credentials[param_name]
  end
end

#auth_settingsObject

Returns Auth Settings hash for api client.



228
229
230
231
232
233
234
235
236
237
238
# File 'lib/aspose-email-cloud/configuration.rb', line 228

def auth_settings
{
  JWT:
  {
    type: 'oauth2',
    in: 'header',
    key: 'Authorization',
    value: "Bearer #{access_token}"
  }
}
end

#base_urlObject



207
208
209
210
# File 'lib/aspose-email-cloud/configuration.rb', line 207

def base_url
  url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '')
  URI.encode(url)
end

#basic_auth_tokenObject

Gets Basic Auth token string



223
224
225
# File 'lib/aspose-email-cloud/configuration.rb', line 223

def basic_auth_token
  'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
end

#configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



185
186
187
# File 'lib/aspose-email-cloud/configuration.rb', line 185

def configure
  yield(self) if block_given?
end