Class: Awis::Connection

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils::Request

#algorithm, #authorization_header, #aws4, #aws4_request, #canonical_request, #credential_scope, #datestamp, #digest_sha256_hexdigest, #encryption_method, #escapeRFC3986, #handle_response, #headers, #headers_lst, #headers_str, #openssl_hmac_digest, #payload_hash, #query_str, #request, #signature, #signature_key, #signing_key, #string_to_sign, #timestamp, #uri, #url, #url_params

Constructor Details

#initializeConnection

Returns a new instance of Connection.

Raises:



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

def initialize
  raise CertificateError.new("Amazon access certificate is missing!") if Awis.config.access_key_id.nil? || Awis.config.secret_access_key.nil?

  setup_options!
end

Instance Attribute Details

#debugObject

Returns the value of attribute debug.



5
6
7
# File 'lib/awis/connection.rb', line 5

def debug
  @debug
end

#paramsObject



21
22
23
# File 'lib/awis/connection.rb', line 21

def params
  @params ||= {}
end

#protocolObject

Returns the value of attribute protocol.



5
6
7
# File 'lib/awis/connection.rb', line 5

def protocol
  @protocol
end

Instance Method Details

#get(params = {}) ⇒ Object



29
30
31
32
33
34
# File 'lib/awis/connection.rb', line 29

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

  response = handle_response(request)
  response.body.force_encoding(Encoding::UTF_8)
end

#setup_options!Object



14
15
16
17
18
19
# File 'lib/awis/connection.rb', line 14

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

#setup_params(params) ⇒ Object



25
26
27
# File 'lib/awis/connection.rb', line 25

def setup_params(params)
  self.params = params
end