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.
16 17 18 19 20 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 16 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.
14 15 16 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 14 def env @env end |
Instance Method Details
#body_params ⇒ Object
26 27 28 29 30 31 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 26 def body_params return {} if file_upload? body = @request.body.read @request.body.rewind @parameter_parser.parse(body) end |
#body_params=(new_params) ⇒ Object
41 42 43 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 41 def body_params=(new_params) set_key_if_exists(RACK_INPUT, StringIO.new(@parameter_parser.unparse(new_params))) end |
#mutate(mutation) ⇒ Object
49 50 51 52 53 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 49 def mutate(mutation) SensitiveDataFilter::Middleware::FILTERABLE.each do |filterable| self.send("#{filterable}=", mutation.send(filterable)) end end |
#query_params ⇒ Object
22 23 24 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 22 def query_params Rack::Utils.parse_query(@request.query_string) end |
#query_params=(new_params) ⇒ Object
37 38 39 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 37 def query_params=(new_params) set_key_if_exists(QUERY_STRING, Rack::Utils.build_query(new_params)) end |
#request_params ⇒ Object
33 34 35 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 33 def request_params @env[REQUEST_PARAMS] end |
#request_params=(new_params) ⇒ Object
45 46 47 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 45 def request_params=(new_params) set_key_if_exists(REQUEST_PARAMS, new_params) end |