Sha256: 1089ec569e398e4b8e883e70dfaf2102b99994a580d2555c5409f3e7b282b98e
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true module UmbrellioUtils class RequestWrapper include Memery def initialize(request) self.request = request end memoize def params parse_params end memoize def body request.body.read.dup.force_encoding("utf-8") end def [](key) params[key] end def rails_params request.params end def raw_request request end memoize 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 memoize def path_parameters request.path_parameters.except(:controller, :action).stringify_keys end def headers request.headers end def ip request.ip end private attr_accessor :request def parse_params case request.media_type when "application/json", /\+json\z/ Parsing.safely_parse_json(body) when "application/xml" Parsing.parse_xml(body) else request.get? ? request.GET : request.POST end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
umbrellio-utils-0.7.3 | lib/umbrellio_utils/request_wrapper.rb |
umbrellio-utils-0.7.2 | lib/umbrellio_utils/request_wrapper.rb |