class UmbrellioUtils::RequestWrapper

Attributes

request[RW]

Public Class Methods

new(request) click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 7
def initialize(request)
  self.request = request
end

Public Instance Methods

[](key) click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 19
def [](key)
  params[key]
end
body() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 15
        def body
  request.body.read.dup.force_encoding("utf-8")
end
headers() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 43
def headers
  request.headers
end
http_headers() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 31
        def http_headers
  headers = request.headers.select do |key, _value|
    key.start_with?("HTTP_") || key.in?(ActionDispatch::Http::Headers::CGI_VARIABLES)
  end

  HTTP::Headers.coerce(headers.sort)
end
ip() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 47
def ip
  request.ip
end
params() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 11
        def params
  parse_params
end
path_parameters() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 39
        def path_parameters
  request.path_parameters.except(:controller, :action).stringify_keys
end
rails_params() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 23
def rails_params
  request.params
end
raw_request() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 27
def raw_request
  request
end

Private Instance Methods

parse_params() click to toggle source
# File lib/umbrellio_utils/request_wrapper.rb, line 55
def parse_params
  case request.content_type
  when "application/json"
    Parsing.safely_parse_json(body)
  when "application/xml"
    Parsing.parse_xml(body)
  else
    request.get? ? request.GET : request.POST
  end
end