Module: ActionDispatch::Http::Parameters
- Extended by:
- ActiveSupport::Concern
- Included in:
- Request
- Defined in:
- lib/action_dispatch/http/parameters.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- PARAMETERS_KEY =
'action_dispatch.request.path_parameters'
- DEFAULT_PARSERS =
{ Mime[:json].symbol => -> (raw_post) { data = ActiveSupport::JSON.decode(raw_post) data.is_a?(Hash) ? data : {:_json => data} } }
Instance Method Summary collapse
-
#parameters ⇒ Object
(also: #params)
Returns both GET and POST parameters in a single hash.
-
#path_parameters ⇒ Object
Returns a hash with the parameters used to form the path of the request.
-
#path_parameters=(parameters) ⇒ Object
:nodoc:.
Instance Method Details
#parameters ⇒ Object Also known as: params
Returns both GET and POST parameters in a single hash.
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/action_dispatch/http/parameters.rb', line 40 def parameters params = get_header("action_dispatch.request.parameters") return params if params params = begin request_parameters.merge(query_parameters) rescue EOFError query_parameters.dup end params.merge!(path_parameters) set_header("action_dispatch.request.parameters", params) params end |
#path_parameters ⇒ Object
Returns a hash with the parameters used to form the path of the request. Returned hash keys are strings:
{'action' => 'my_action', 'controller' => 'my_controller'}
71 72 73 |
# File 'lib/action_dispatch/http/parameters.rb', line 71 def path_parameters get_header(PARAMETERS_KEY) || set_header(PARAMETERS_KEY, {}) end |
#path_parameters=(parameters) ⇒ Object
:nodoc:
55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/action_dispatch/http/parameters.rb', line 55 def path_parameters=(parameters) #:nodoc: delete_header('action_dispatch.request.parameters') # If any of the path parameters has an invalid encoding then # raise since it's likely to trigger errors further on. Request::Utils.check_param_encoding(parameters) set_header PARAMETERS_KEY, parameters rescue Rack::Utils::ParameterTypeError, Rack::Utils::InvalidParameterError => e raise ActionController::BadRequest.new("Invalid path parameters: #{e.}") end |