Class: SensitiveDataFilter::Middleware::EnvParser
- Inherits:
-
Object
- Object
- SensitiveDataFilter::Middleware::EnvParser
- Extended by:
- Forwardable
- Defined in:
- lib/sensitive_data_filter/middleware/env_parser.rb
Constant Summary collapse
- QUERY_STRING =
'QUERY_STRING'.freeze
- RACK_INPUT =
'rack.input'.freeze
- REQUEST_PARAMS =
'action_dispatch.request.request_parameters'.freeze
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Instance Method Summary collapse
- #body_params ⇒ Object
- #body_params=(new_params) ⇒ Object
-
#initialize(env) ⇒ EnvParser
constructor
A new instance of EnvParser.
- #mutate(mutation) ⇒ Object
- #query_params ⇒ Object
- #query_params=(new_params) ⇒ Object
- #request_params ⇒ Object
- #request_params=(new_params) ⇒ Object
Constructor Details
#initialize(env) ⇒ EnvParser
Returns a new instance of EnvParser.
15 16 17 18 19 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 15 def initialize(env) @env = env @request = Rack::Request.new(@env) @parameter_parser = ParameterParser.parser_for(@request.media_type) end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
13 14 15 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 13 def env @env end |
Instance Method Details
#body_params ⇒ Object
25 26 27 28 29 30 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 25 def body_params return {} if file_upload? body = @request.body.read @request.body.rewind @parameter_parser.parse(body) end |
#body_params=(new_params) ⇒ Object
40 41 42 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 40 def body_params=(new_params) set_key_if_exists(RACK_INPUT, StringIO.new(@parameter_parser.unparse(new_params))) end |
#mutate(mutation) ⇒ Object
48 49 50 51 52 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 48 def mutate(mutation) SensitiveDataFilter::Middleware::FILTERABLE.each do |filterable| self.send("#{filterable}=", mutation.send(filterable)) end end |
#query_params ⇒ Object
21 22 23 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 21 def query_params Rack::Utils.parse_query(@request.query_string) end |
#query_params=(new_params) ⇒ Object
36 37 38 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 36 def query_params=(new_params) set_key_if_exists(QUERY_STRING, Rack::Utils.build_query(new_params)) end |
#request_params ⇒ Object
32 33 34 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 32 def request_params @env[REQUEST_PARAMS] end |
#request_params=(new_params) ⇒ Object
44 45 46 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 44 def request_params=(new_params) set_key_if_exists(REQUEST_PARAMS, new_params) end |