提交 feb73820 编写于 作者: J Joshua Peek

AD::Cascade that supports X-Cascade

上级 673fa7f0
......@@ -41,6 +41,7 @@ module ActionDispatch
autoload_under 'middleware' do
autoload :Callbacks
autoload :Cascade
autoload :ParamsParser
autoload :Rescue
autoload :ShowExceptions
......
module ActionDispatch
class Cascade
def self.new(*apps)
apps = apps.flatten
case apps.length
when 0
raise ArgumentError, "app is required"
when 1
apps.first
else
super(apps)
end
end
def initialize(apps)
@apps = apps
end
def call(env)
result = nil
@apps.each do |app|
result = app.call(env)
break unless result[1]["X-Cascade"] == "pass"
end
result
end
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册