Class: AsposeStorageCloud::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/Aspose/Storage/configuration.rb

Overview

Class for storing API configuration info

Constant Summary collapse

V1_API_VERSION =

Defines v1 api version

'/v1'
V2_API_VERSION =

Defines v2 api version

'/v2'
V3_API_VERSION =

Defines v3 api version

'/v3'
V1_1_API_VERSION =

Defines v1.1 api version

'/v1.1'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize {|_self| ... } ⇒ Configuration

Returns a new instance of Configuration.

Yields:

  • (_self)

Yield Parameters:



113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/Aspose/Storage/configuration.rb', line 113

def initialize
  @scheme = 'https'
  @host = 'api.aspose.cloud'
  @api_version = V1_API_VERSION
  @api_key = {}
  @api_key_prefix = {}
  @client_side_validation = true
  @debugging = false
  @logger = Logger.new(STDOUT)

  yield(self) if block_given?
end

Instance Attribute Details

#access_tokenObject

Defines the access token (Bearer) used with OAuth2.



82
83
84
# File 'lib/Aspose/Storage/configuration.rb', line 82

def access_token
  @access_token
end

#api_keyHash

Defines API keys used with API Key authentications.

Examples:

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

config.api_key['api_key'] = 'xxx'

Returns:

  • (Hash)

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



61
62
63
# File 'lib/Aspose/Storage/configuration.rb', line 61

def api_key
  @api_key
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



69
70
71
# File 'lib/Aspose/Storage/configuration.rb', line 69

def api_key_prefix
  @api_key_prefix
end

#api_versionObject

Defines url api version



53
54
55
# File 'lib/Aspose/Storage/configuration.rb', line 53

def api_version
  @api_version
end

#client_side_validationtrue, false

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

Returns:

  • (true, false)


110
111
112
# File 'lib/Aspose/Storage/configuration.rb', line 110

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)


92
93
94
# File 'lib/Aspose/Storage/configuration.rb', line 92

def debugging
  @debugging
end

#hostObject

Defines url host



50
51
52
# File 'lib/Aspose/Storage/configuration.rb', line 50

def host
  @host
end

#logger#debug

Defines the logger used for debugging. Default to ‘Rails.logger` (when in Rails) or logging to STDOUT.

Returns:

  • (#debug)


98
99
100
# File 'lib/Aspose/Storage/configuration.rb', line 98

def logger
  @logger
end

#passwordString

Defines the password used with HTTP basic authentication.

Returns:

  • (String)


79
80
81
# File 'lib/Aspose/Storage/configuration.rb', line 79

def password
  @password
end

#refresh_tokenObject

Defines the refresh token (Bearer) used with OAuth2.



85
86
87
# File 'lib/Aspose/Storage/configuration.rb', line 85

def refresh_token
  @refresh_token
end

#schemeObject

Defines url scheme



47
48
49
# File 'lib/Aspose/Storage/configuration.rb', line 47

def scheme
  @scheme
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)


105
106
107
# File 'lib/Aspose/Storage/configuration.rb', line 105

def temp_folder_path
  @temp_folder_path
end

#usernameString

Defines the username used with HTTP basic authentication.

Returns:

  • (String)


74
75
76
# File 'lib/Aspose/Storage/configuration.rb', line 74

def username
  @username
end

Class Method Details

.defaultObject

The default Configuration object.



127
128
129
# File 'lib/Aspose/Storage/configuration.rb', line 127

def self.default
  @@default ||= Configuration.new
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



163
164
165
166
167
168
169
# File 'lib/Aspose/Storage/configuration.rb', line 163

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_settingsObject

Returns Auth Settings hash for api client.



177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# File 'lib/Aspose/Storage/configuration.rb', line 177

def auth_settings
  {
    'appsid' =>
      {
        type: 'api_key',
        in: 'query',
        key: 'appsid',
        value: api_key_with_prefix('appsid')
      },
    'oauth' =>
      {
        type: 'oauth2',
        in: 'header',
        key: 'Authorization',
        value: "Bearer #{access_token}"
      },
    'signature' =>
      {
        type: 'api_key',
        in: 'query',
        key: 'signature',
        value: api_key_with_prefix('signature')
      },
  }
end

#base_urlObject

returns base url



156
157
158
159
# File 'lib/Aspose/Storage/configuration.rb', line 156

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

#basic_auth_tokenObject

Gets Basic Auth token string



172
173
174
# File 'lib/Aspose/Storage/configuration.rb', line 172

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

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

yield self

Yields:

  • (_self)

Yield Parameters:



132
133
134
# File 'lib/Aspose/Storage/configuration.rb', line 132

def configure
  yield(self) if block_given?
end