diff options
author | José Valim <jose.valim@gmail.com> | 2011-12-21 05:14:26 -0800 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-12-21 05:14:26 -0800 |
commit | 618cb4429191290b957391c314a55b4d59f381f3 (patch) | |
tree | bef72ad2005a08efb4faa6e8192cec506f591420 /railties/lib/rails | |
parent | 1f75a1fea12ead1370113ea1be0272667ab7da88 (diff) | |
parent | 3131a9379766a735a80220fd2e94cb07791bed9c (diff) | |
download | rails-618cb4429191290b957391c314a55b4d59f381f3.tar.gz rails-618cb4429191290b957391c314a55b4d59f381f3.tar.bz2 rails-618cb4429191290b957391c314a55b4d59f381f3.zip |
Merge pull request #4079 from drogus/http_digest_issue
Fix http digest authentication when url ends with `/` or `?`
Diffstat (limited to 'railties/lib/rails')
-rw-r--r-- | railties/lib/rails/application.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index b20634c5a9..19e8426e60 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -215,6 +215,11 @@ module Rails config.helpers_paths end + def call(env) + env["ORIGINAL_FULLPATH"] = build_original_fullpath(env) + super(env) + end + protected alias :build_middleware_stack :app @@ -291,5 +296,17 @@ module Rails require "rails/console/app" require "rails/console/helpers" end + + def build_original_fullpath(env) + path_info = env["PATH_INFO"] + query_string = env["QUERY_STRING"] + script_name = env["SCRIPT_NAME"] + + if query_string.present? + "#{script_name}#{path_info}?#{query_string}" + else + "#{script_name}#{path_info}" + end + end end end |