class SimpleApiAuth::Request

Attributes

body[RW]
headers[RW]
http_verb[RW]
original[RW]
query_string[RW]
uri[RW]

Public Class Methods

create(request) click to toggle source
# 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
new(options = {}) click to toggle source
# 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

Public Instance Methods

add_header(key, value) click to toggle source
# 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
time() click to toggle source
# 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

Private Instance Methods

assign_options(options) click to toggle source
# File lib/simple-api-auth/request.rb, line 37
def assign_options(options)
  options.each do |k, v|
    send("#{k}=", v)
  end
end