module Crystal module Processors class PrepareParams < Processor def call workspace.env.must_be.defined workspace.request = Crystal::Request.new(workspace.env) workspace.path = workspace.request.path params = workspace.params = Crystal::Params.new(workspace.request.params) if params.json? json_params = JSON.load params['json'] json_params.must_be.a Hash json_params.keys.each do |k| logger.warn "Parameter :#{k} will be overwriden from JSON!" if params.include?(k) end params.merge! json_params end next_processor.call end end end end