aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/dispatch/rack
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller/dispatch/rack')
-rw-r--r--actionpack/lib/action_controller/dispatch/rack/failsafe.rb52
-rw-r--r--actionpack/lib/action_controller/dispatch/rack/lock.rb16
-rw-r--r--actionpack/lib/action_controller/dispatch/rack/middleware_stack.rb109
-rw-r--r--actionpack/lib/action_controller/dispatch/rack/middlewares.rb21
4 files changed, 0 insertions, 198 deletions
diff --git a/actionpack/lib/action_controller/dispatch/rack/failsafe.rb b/actionpack/lib/action_controller/dispatch/rack/failsafe.rb
deleted file mode 100644
index 567581142c..0000000000
--- a/actionpack/lib/action_controller/dispatch/rack/failsafe.rb
+++ /dev/null
@@ -1,52 +0,0 @@
-module ActionController
- class Failsafe
- cattr_accessor :error_file_path
- self.error_file_path = Rails.public_path if defined?(Rails.public_path)
-
- def initialize(app)
- @app = app
- end
-
- def call(env)
- @app.call(env)
- rescue Exception => exception
- # Reraise exception in test environment
- if env["rack.test"]
- raise exception
- else
- failsafe_response(exception)
- end
- end
-
- private
- def failsafe_response(exception)
- log_failsafe_exception(exception)
- [500, {'Content-Type' => 'text/html'}, failsafe_response_body]
- rescue Exception => failsafe_error # Logger or IO errors
- $stderr.puts "Error during failsafe response: #{failsafe_error}"
- end
-
- def failsafe_response_body
- error_path = "#{self.class.error_file_path}/500.html"
- if File.exist?(error_path)
- File.read(error_path)
- else
- "<html><body><h1>500 Internal Server Error</h1></body></html>"
- end
- end
-
- def log_failsafe_exception(exception)
- message = "/!\\ FAILSAFE /!\\ #{Time.now}\n Status: 500 Internal Server Error\n"
- message << " #{exception}\n #{exception.backtrace.join("\n ")}" if exception
- failsafe_logger.fatal(message)
- end
-
- def failsafe_logger
- if defined?(Rails) && Rails.logger
- Rails.logger
- else
- Logger.new($stderr)
- end
- end
- end
-end
diff --git a/actionpack/lib/action_controller/dispatch/rack/lock.rb b/actionpack/lib/action_controller/dispatch/rack/lock.rb
deleted file mode 100644
index c50762216e..0000000000
--- a/actionpack/lib/action_controller/dispatch/rack/lock.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-module ActionController
- class Lock
- FLAG = 'rack.multithread'.freeze
-
- def initialize(app, lock = Mutex.new)
- @app, @lock = app, lock
- end
-
- def call(env)
- old, env[FLAG] = env[FLAG], false
- @lock.synchronize { @app.call(env) }
- ensure
- env[FLAG] = old
- end
- end
-end
diff --git a/actionpack/lib/action_controller/dispatch/rack/middleware_stack.rb b/actionpack/lib/action_controller/dispatch/rack/middleware_stack.rb
deleted file mode 100644
index dbc2fda41e..0000000000
--- a/actionpack/lib/action_controller/dispatch/rack/middleware_stack.rb
+++ /dev/null
@@ -1,109 +0,0 @@
-module ActionController
- class MiddlewareStack < Array
- class Middleware
- def self.new(klass, *args, &block)
- if klass.is_a?(self)
- klass
- else
- super
- end
- end
-
- attr_reader :args, :block
-
- def initialize(klass, *args, &block)
- @klass = klass
-
- options = args.extract_options!
- if options.has_key?(:if)
- @conditional = options.delete(:if)
- else
- @conditional = true
- end
- args << options unless options.empty?
-
- @args = args
- @block = block
- end
-
- def klass
- if @klass.is_a?(Class)
- @klass
- else
- @klass.to_s.constantize
- end
- rescue NameError
- @klass
- end
-
- def active?
- if @conditional.respond_to?(:call)
- @conditional.call
- else
- @conditional
- end
- end
-
- def ==(middleware)
- case middleware
- when Middleware
- klass == middleware.klass
- when Class
- klass == middleware
- else
- klass == middleware.to_s.constantize
- end
- end
-
- def inspect
- str = klass.to_s
- args.each { |arg| str += ", #{arg.inspect}" }
- str
- end
-
- def build(app)
- if block
- klass.new(app, *args, &block)
- else
- klass.new(app, *args)
- end
- end
- end
-
- def initialize(*args, &block)
- super(*args)
- block.call(self) if block_given?
- end
-
- def insert(index, *args, &block)
- index = self.index(index) unless index.is_a?(Integer)
- middleware = Middleware.new(*args, &block)
- super(index, middleware)
- end
-
- alias_method :insert_before, :insert
-
- def insert_after(index, *args, &block)
- index = self.index(index) unless index.is_a?(Integer)
- insert(index + 1, *args, &block)
- end
-
- def swap(target, *args, &block)
- insert_before(target, *args, &block)
- delete(target)
- end
-
- def use(*args, &block)
- middleware = Middleware.new(*args, &block)
- push(middleware)
- end
-
- def active
- find_all { |middleware| middleware.active? }
- end
-
- def build(app)
- active.reverse.inject(app) { |a, e| e.build(a) }
- end
- end
-end
diff --git a/actionpack/lib/action_controller/dispatch/rack/middlewares.rb b/actionpack/lib/action_controller/dispatch/rack/middlewares.rb
deleted file mode 100644
index f9cfc2b18e..0000000000
--- a/actionpack/lib/action_controller/dispatch/rack/middlewares.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-use "Rack::Lock", :if => lambda {
- !ActionController::Base.allow_concurrency
-}
-
-use "ActionController::Failsafe"
-
-["ActionController::Session::CookieStore",
- "ActionController::Session::MemCacheStore",
- "ActiveRecord::SessionStore"].each do |store|
- use(store, ActionController::Base.session_options,
- :if => lambda {
- if session_store = ActionController::Base.session_store
- session_store.name == store
- end
- }
- )
-end
-
-use "ActionController::RewindableInput"
-use "ActionController::ParamsParser"
-use "Rack::MethodOverride"