class Grape::Request
Constants
- KNOWN_HEADERS
-
Based on rack 3
KNOWN_HEADERS
github.com/rack/rack/blob/4f15e7b814922af79605be4b02c5b7c3044ba206/lib/rack/headers.rb#L10
Public Class Methods
Source
# File lib/grape/request.rb, line 142 def initialize(env, build_params_with: nil) super(env) @params_builder = Grape::ParamsBuilder.params_builder_for(build_params_with || Grape.config.param_builder) end
Calls superclass method
Public Instance Methods
Source
# File lib/grape/request.rb, line 160 def grape_routing_args # preserve version from query string parameters env[Grape::Env::GRAPE_ROUTING_ARGS]&.except(:version, :route_info) || {} end
needs to be public until extensions param_builder are removed
Source
# File lib/grape/request.rb, line 147 def params @params ||= make_params end
Also aliased as: rack_params
Private Instance Methods
Source
# File lib/grape/request.rb, line 181 def build_headers each_header.with_object(Grape::Util::Header.new) do |(k, v), headers| next unless k.start_with? 'HTTP_' transformed_header = KNOWN_HEADERS.fetch(k) { -k[5..].tr('_', '-').downcase } headers[transformed_header] = v end end
Source
# File lib/grape/request.rb, line 167 def make_params @params_builder.call(rack_params).deep_merge!(grape_routing_args) rescue EOFError raise Grape::Exceptions::EmptyMessageBody.new(content_type) rescue Rack::Multipart::MultipartPartLimitError, Rack::Multipart::MultipartTotalPartLimitError raise Grape::Exceptions::TooManyMultipartFiles.new(Rack::Utils.multipart_part_limit) rescue Rack::QueryParser::ParamsTooDeepError raise Grape::Exceptions::TooDeepParameters.new(Rack::Utils.param_depth_limit) rescue Rack::Utils::ParameterTypeError raise Grape::Exceptions::ConflictingTypes rescue Rack::Utils::InvalidParameterError raise Grape::Exceptions::InvalidParameters end