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
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
- #copy ⇒ Object
-
#initialize(env) ⇒ EnvParser
constructor
A new instance of EnvParser.
- #mask! ⇒ Object
- #query_params ⇒ Object
- #query_params=(new_params) ⇒ Object
Constructor Details
#initialize(env) ⇒ EnvParser
14 15 16 17 18 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 14 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.
12 13 14 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 12 def env @env end |
Instance Method Details
#body_params ⇒ Object
24 25 26 27 28 29 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 24 def body_params return {} if file_upload? body = @request.body.read @request.body.rewind @parameter_parser.parse(body) end |
#body_params=(new_params) ⇒ Object
35 36 37 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 35 def body_params=(new_params) @env[RACK_INPUT] = StringIO.new @parameter_parser.unparse(new_params) end |
#copy ⇒ Object
39 40 41 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 39 def copy self.class.new(@env.clone) end |
#mask! ⇒ Object
43 44 45 46 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 43 def mask! self.query_params = SensitiveDataFilter::Mask.mask(query_params) self.body_params = SensitiveDataFilter::Mask.mask(body_params) end |
#query_params ⇒ Object
20 21 22 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 20 def query_params Rack::Utils.parse_query(@request.query_string) end |
#query_params=(new_params) ⇒ Object
31 32 33 |
# File 'lib/sensitive_data_filter/middleware/env_parser.rb', line 31 def query_params=(new_params) @env[QUERY_STRING] = Rack::Utils.build_query(new_params) end |