def process
server = nil
ObjectSpace.each_object(Rack::Server) do |object|
server = object
end
middlewares = []
if server
stack = server.instance_variable_get("@wrapped_app")
middlewares << stack.class.to_s
while stack.instance_variable_defined?("@app") do
stack = stack.instance_variable_get("@app")
stack = Rails.application if stack == Rails.application.class
middlewares << stack.class.to_s if stack != Rails.application
end
else
middleware_names = Rails.application.middleware.map do |middleware|
if middleware.respond_to?(:name)
middleware.name
else
middleware.inspect
end
end
middlewares.concat middleware_names
end
middlewares << Rails.application.class.to_s
print_middleware middlewares.grep(Regexp.new(opts[:G] || "."))
end