Class: Flapjack::Gateways::JSONAPI::Middleware::ArrayParamFixer
- Inherits:
-
Struct
- Object
- Struct
- Flapjack::Gateways::JSONAPI::Middleware::ArrayParamFixer
- Defined in:
- lib/flapjack/gateways/jsonapi/middleware/array_param_fixer.rb
Instance Attribute Summary collapse
-
#app ⇒ Object
Returns the value of attribute app.
Instance Method Summary collapse
Instance Attribute Details
#app ⇒ Object
Returns the value of attribute app
11 12 13 |
# File 'lib/flapjack/gateways/jsonapi/middleware/array_param_fixer.rb', line 11 def app @app end |
Instance Method Details
#call(env) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/flapjack/gateways/jsonapi/middleware/array_param_fixer.rb', line 12 def call(env) if (env["REQUEST_METHOD"] == 'GET') && env["rack.request.query_string"].nil? qs = env["QUERY_STRING"] fixed_qs = qs.to_s.sub(/^filter=/, "filter[]=") .gsub(/&filter=/, "&filter[]=") env["rack.request.query_string"] = qs # avoid Rack re-parsing it env["rack.request.query_hash"] = ::Rack::Utils.parse_nested_query(fixed_qs) end app.call(env) end |