aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2015-08-24 12:06:22 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2015-08-24 12:06:41 -0700
commit337684fa28a3e8d55874d5740585710d0fa99ead (patch)
treeb431400ddd5dac554956d7aa5db2b763a8b38acb /actionpack/lib
parent518ae9f055cd31c0f00c221d56bf0d44733cb782 (diff)
downloadrails-337684fa28a3e8d55874d5740585710d0fa99ead.tar.gz
rails-337684fa28a3e8d55874d5740585710d0fa99ead.tar.bz2
rails-337684fa28a3e8d55874d5740585710d0fa99ead.zip
use a custom request class to determine the controller class
controller class resolution has been moved to the request object, so we should override that method instead of relying on the RouteSet to generate the controller class.
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_dispatch/routing/route_set.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb
index 2e8c346758..3706c6cd8e 100644
--- a/actionpack/lib/action_dispatch/routing/route_set.rb
+++ b/actionpack/lib/action_dispatch/routing/route_set.rb
@@ -343,6 +343,11 @@ module ActionDispatch
ActionDispatch::Request
end
+ def make_request(env)
+ request_class.new env
+ end
+ private :make_request
+
def draw(&block)
clear! unless @disable_clear_and_finalize
eval_block(block)
@@ -700,7 +705,7 @@ module ActionDispatch
end
def call(env)
- req = request_class.new(env)
+ req = make_request(env)
req.path_info = Journey::Router::Utils.normalize_path(req.path_info)
@router.serve(req)
end
@@ -716,7 +721,7 @@ module ActionDispatch
raise ActionController::RoutingError, e.message
end
- req = request_class.new(env)
+ req = make_request(env)
@router.recognize(req) do |route, params|
params.merge!(extras)
params.each do |key, value|