Class: JsonKeyTransformerMiddleware::IncomingParamsFormatter

Inherits:
Middleware
  • Object
show all
Defined in:
lib/json_key_transformer_middleware/incoming_params_formatter.rb

Instance Method Summary collapse

Methods inherited from Middleware

#camel_to_underscore, #deep_transform_hash_keys, #underscore_to_camel

Constructor Details

#initialize(app) ⇒ IncomingParamsFormatter

Returns a new instance of IncomingParamsFormatter.



7
8
9
# File 'lib/json_key_transformer_middleware/incoming_params_formatter.rb', line 7

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/json_key_transformer_middleware/incoming_params_formatter.rb', line 11

def call(env)
  parsed_params = Rack::Utils.parse_nested_query(env['QUERY_STRING'])
  transformed_params = deep_transform_hash_keys(parsed_params, :camel_to_underscore)
  env['QUERY_STRING'] = Rack::Utils.build_nested_query(transformed_params)

  @app.call(env)
end