Class: Awis::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/awis/connection.rb

Constant Summary collapse

HEADERS =
{
  'accept' => 'application/xml',
  'content-type' => 'application/xml',
  'user-agent' => "awis-sdk-ruby v#{Awis::VERSION}"
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Connection

Returns a new instance of Connection.

Raises:



18
19
20
21
22
23
24
# File 'lib/awis/connection.rb', line 18

def initialize(options = {})
  @secret_access_key = options.fetch(:secret_access_key, Awis.config.secret_access_key)
  @access_key_id     = options.fetch(:access_key_id, Awis.config.access_key_id)
  raise CertificateError, 'Amazon access certificate is missing!' if @secret_access_key.nil? || @access_key_id.nil?

  setup_options!
end

Instance Attribute Details

#access_key_idObject (readonly)

Returns the value of attribute access_key_id.



10
11
12
# File 'lib/awis/connection.rb', line 10

def access_key_id
  @access_key_id
end

#debugObject

Returns the value of attribute debug.



9
10
11
# File 'lib/awis/connection.rb', line 9

def debug
  @debug
end

#paramsObject (readonly)

Returns the value of attribute params.



10
11
12
# File 'lib/awis/connection.rb', line 10

def params
  @params
end

#protocolObject

Returns the value of attribute protocol.



9
10
11
# File 'lib/awis/connection.rb', line 9

def protocol
  @protocol
end

#secret_access_keyObject (readonly)

Returns the value of attribute secret_access_key.



10
11
12
# File 'lib/awis/connection.rb', line 10

def secret_access_key
  @secret_access_key
end

Instance Method Details

#get(params = {}) ⇒ Object



33
34
35
36
37
# File 'lib/awis/connection.rb', line 33

def get(params = {})
  set_params(params)

  handle_response(request).body
end

#set_params(params) ⇒ Object



39
40
41
# File 'lib/awis/connection.rb', line 39

def set_params(params)
  @params = params
end

#setup_options!Object



26
27
28
29
30
31
# File 'lib/awis/connection.rb', line 26

def setup_options!
  @debug        = Awis.config.debug || false
  @protocol     = Awis.config.protocol || 'https'
  @timeout      = Awis.config.timeout || 10
  @open_timeout = Awis.config.open_timeout || 10
end