about summary refs log tree commit homepage
path: root/lib/mongrel
diff options
context:
space:
mode:
authorevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-15 18:24:08 +0000
committerevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-15 18:24:08 +0000
commit49de1a2f6a2a344c7ef72dbd3c70aa2678688bdb (patch)
treebb34b72defac480862f6d1ea13eff12dfd571bce /lib/mongrel
parentc54ec40a59cb25b688d4629ee0af8c481d12c48d (diff)
downloadunicorn-49de1a2f6a2a344c7ef72dbd3c70aa2678688bdb.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@653 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'lib/mongrel')
-rw-r--r--lib/mongrel/rails.rb13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/mongrel/rails.rb b/lib/mongrel/rails.rb
index 69610a1..584806e 100644
--- a/lib/mongrel/rails.rb
+++ b/lib/mongrel/rails.rb
@@ -49,12 +49,13 @@ module Mongrel
       # * If it exists at PATH_INFO+".html" exists then serve that.
       # * Finally, construct a Mongrel::CGIWrapper and run Dispatcher.dispatch to have Rails go.
       def process(request, response)
-        if response.socket.closed?
-          return
-        end
-        path_info = request.params[Mongrel::Const::PATH_INFO].chomp("/")
-        path_info << $1 if request.params[Mongrel::Const::REQUEST_URI] =~ /^#{Regexp.escape path_info}(;[^\?]+)/
-        page_cached = path_info + ActionController::Base.page_cache_extension
+        return if response.socket.closed?
+        
+        path_info = request.params[Mongrel::Const::PATH_INFO]
+        query_string = request.params[Mongrel::Const::REQUEST_URI][/^#{Regexp.escape path_info}(;[^\?]+)/, 1].to_s
+        path_info.chomp!("/")
+        
+        page_cached = path_info + query_string + ActionController::Base.page_cache_extension
         get_or_head = @@file_only_methods.include? request.params[Mongrel::Const::REQUEST_METHOD]
 
         if get_or_head and @files.can_serve(path_info)