Sha256: 0b44cb9560883962d5e735bbc480a77600d81d245a08df4872ff3735c7f20f88
Contents?: true
Size: 1.15 KB
Versions: 8
Compression:
Stored size: 1.15 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.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 end end
Version data entries
8 entries across 8 versions & 1 rubygems