lib/roda/request.rb
def run(app)
          e = @env
          path = real_remaining_path
          sn = "SCRIPT_NAME"
          pi = "PATH_INFO"
          script_name = e[sn]
          path_info = e[pi]
          begin
            e[sn] += path_info.chomp(path)
            e[pi] = path
            throw :halt, app.call(e)
          ensure
            e[sn] = script_name
            e[pi] = path_info
          end
        end
# Call the given rack app with the environment and return the response
# from the rack app as the response for this request.  This ends
# the processing of the request:
#
#   r.run(proc{[403, {}, []]}) unless r['letmein'] == '1'
#   r.run(proc{[404, {}, []]})
#   response.status = 404 # not reached
#
# This updates SCRIPT_NAME/PATH_INFO based on the current remaining_path
# before dispatching to another rack app, so the app still works as
# a URL mapper.
Call the given rack app with the environment and return the response
from the rack app as the response for this request.  This ends
the processing of the request.



This updates SCRIPT_NAME/PATH_INFO based on the current remaining_path
before dispatching to another rack app, so the app still works as
a URL mapper.
Call the given rack app with the environment and return the response from the rack app as the response for this request . This ends the processing of the request . This updates SCRIPT_NAME / PATH_INFO based on the current remaining_path before dispatching to another rack app so the app still works as a URL mapper .
def run(app)
          e = @env
          path = real_remaining_path
          sn = "SCRIPT_NAME"
          pi = "PATH_INFO"
          script_name = e[sn]
          path_info = e[pi]
          begin
            e[sn] += path_info.chomp(path)
            e[pi] = path
            throw :halt, app.call(e)
          ensure
            e[sn] = script_name
            e[pi] = path_info
          end
        end
def run ( app ) e = @env path = real_remaining_path sn = "SCRIPT_NAME" pi = "PATH_INFO" script_name = e [ sn ] path_info = e [ pi ] begin e [ sn ] += path_info . chomp ( path ) e [ pi ] = path throw :halt , app . call ( e ) ensure e [ sn ] = script_name e [ pi ] = path_info end end
Call the given rack app with the environment and return the response
from the rack app as the response for this request.
Call the given rack app with the environment and return the response from the rack app as the response for this request .
app