code: def call(env) # rubocop:disable Metrics/AbcSize
        request  = ::Rack::Request.new(env)
        parser   = strategy.is_a?(Class) ? strategy.new(options) : strategy
  
        env[QUERY] ||= Muster::Results.new({})
        env[QUERY].merge! parser.parse(request.query_string)
        env[QUERY_STRING] = request.query_string
  
        @app.call(env)
      end
docs: Creates a new Rack::Muster middleware instance
  
   @param app [String] Rack application
   @param strategy [Muster::Strategies::Rack] Muster query string parsing strategy to run
   @param options [Hash] options to pass to the specified strategy
  
   @example
  
     middleware = Muster::Rack.new(app, Muster::Strategies::Hash, :fields => [:name, :choices])
  
     strategy = Muster::Strategies::Hash.new(:fields => [:name, :choices])
     middleware = Muster::Rack.new(app, strategy)
   Handle Rack request
  
   @param env [Hash] Rack environment
  
   @return [Array]