aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/gems/rack-1.1.0/lib/rack/cascade.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gems/rack-1.1.0/lib/rack/cascade.rb')
-rw-r--r--vendor/gems/rack-1.1.0/lib/rack/cascade.rb41
1 files changed, 0 insertions, 41 deletions
diff --git a/vendor/gems/rack-1.1.0/lib/rack/cascade.rb b/vendor/gems/rack-1.1.0/lib/rack/cascade.rb
deleted file mode 100644
index 14c3e54d3..000000000
--- a/vendor/gems/rack-1.1.0/lib/rack/cascade.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-module Rack
- # Rack::Cascade tries an request on several apps, and returns the
- # first response that is not 404 (or in a list of configurable
- # status codes).
-
- class Cascade
- NotFound = [404, {}, []]
-
- attr_reader :apps
-
- def initialize(apps, catch=404)
- @apps = []; @has_app = {}
- apps.each { |app| add app }
-
- @catch = {}
- [*catch].each { |status| @catch[status] = true }
- end
-
- def call(env)
- result = NotFound
-
- @apps.each do |app|
- result = app.call(env)
- break unless @catch.include?(result[0].to_i)
- end
-
- result
- end
-
- def add app
- @has_app[app] = true
- @apps << app
- end
-
- def include? app
- @has_app.include? app
- end
-
- alias_method :<<, :add
- end
-end