Class: SimpleApiAuth::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/simple-api-auth/request.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Request

Returns a new instance of Request.



5
6
7
8
9
10
11
# File 'lib/simple-api-auth/request.rb', line 5

def initialize(options = {})
  assign_options(options)
  @normalizer = SimpleApiAuth.config.request_normalizer.new
  @header_field = SimpleApiAuth.config.request_fields[:headers]
  self.headers = @normalizer.normalize_headers(headers)
  self.http_verb = http_verb.downcase.to_sym
end

Instance Attribute Details

#bodyObject

Returns the value of attribute body.



3
4
5
# File 'lib/simple-api-auth/request.rb', line 3

def body
  @body
end

#headersObject

Returns the value of attribute headers.



3
4
5
# File 'lib/simple-api-auth/request.rb', line 3

def headers
  @headers
end

#http_verbObject

Returns the value of attribute http_verb.



3
4
5
# File 'lib/simple-api-auth/request.rb', line 3

def http_verb
  @http_verb
end

#originalObject

Returns the value of attribute original.



3
4
5
# File 'lib/simple-api-auth/request.rb', line 3

def original
  @original
end

#query_stringObject

Returns the value of attribute query_string.



3
4
5
# File 'lib/simple-api-auth/request.rb', line 3

def query_string
  @query_string
end

#uriObject

Returns the value of attribute uri.



3
4
5
# File 'lib/simple-api-auth/request.rb', line 3

def uri
  @uri
end

Class Method Details

.create(request) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/simple-api-auth/request.rb', line 26

def self.create(request)
  return request if request.is_a?(Request)
  options = {}
  SimpleApiAuth.config.request_fields.each do |k, v|
    options[k] = request.send(v)
  end
  Request.new(options.merge(original: request))
end

Instance Method Details

#add_header(key, value) ⇒ Object



20
21
22
23
24
# File 'lib/simple-api-auth/request.rb', line 20

def add_header(key, value)
  headers[key] = value
  denormalized_key = @normalizer.denormalize(key)
  original.send(@header_field)[denormalized_key] = value
end

#timeObject



13
14
15
16
17
18
# File 'lib/simple-api-auth/request.rb', line 13

def time
  header_key = SimpleApiAuth.config.header_keys[:saa_auth_time]
  Time.parse(headers[header_key])
rescue ArgumentError, TypeError
  nil
end