X7ROOT File Manager
Current Path:
/opt/alt/ruby20/lib64/ruby/gems/2.0.0/gems/rack-1.6.4/lib/rack
opt
/
alt
/
ruby20
/
lib64
/
ruby
/
gems
/
2.0.0
/
gems
/
rack-1.6.4
/
lib
/
rack
/
ðŸ“
..
ðŸ“
auth
ðŸ“
backports
📄
body_proxy.rb
(958 B)
📄
builder.rb
(4.27 KB)
📄
cascade.rb
(1.34 KB)
📄
chunked.rb
(1.58 KB)
📄
commonlogger.rb
(2.28 KB)
📄
conditionalget.rb
(2.5 KB)
📄
config.rb
(379 B)
📄
content_length.rb
(840 B)
📄
content_type.rb
(670 B)
📄
deflater.rb
(4.57 KB)
📄
directory.rb
(4.2 KB)
📄
etag.rb
(2.11 KB)
📄
file.rb
(4.09 KB)
ðŸ“
handler
📄
handler.rb
(3.25 KB)
📄
head.rb
(484 B)
📄
lint.rb
(29.26 KB)
📄
lobster.rb
(1.97 KB)
📄
lock.rb
(601 B)
📄
logger.rb
(357 B)
📄
methodoverride.rb
(1.01 KB)
📄
mime.rb
(30.94 KB)
📄
mock.rb
(5.68 KB)
ðŸ“
multipart
📄
multipart.rb
(1.14 KB)
📄
nulllogger.rb
(951 B)
📄
recursive.rb
(1.73 KB)
📄
reloader.rb
(2.97 KB)
📄
request.rb
(12.59 KB)
📄
response.rb
(4.33 KB)
📄
rewindable_input.rb
(3.19 KB)
📄
runtime.rb
(961 B)
📄
sendfile.rb
(5.18 KB)
📄
server.rb
(10.8 KB)
ðŸ“
session
📄
showexceptions.rb
(11.7 KB)
📄
showstatus.rb
(3.46 KB)
📄
static.rb
(4.88 KB)
📄
tempfile_reaper.rb
(670 B)
📄
urlmap.rb
(2.46 KB)
ðŸ“
utils
📄
utils.rb
(20.86 KB)
Editing: recursive.rb
require 'uri' module Rack # Rack::ForwardRequest gets caught by Rack::Recursive and redirects # the current request to the app at +url+. # # raise ForwardRequest.new("/not-found") # class ForwardRequest < Exception attr_reader :url, :env def initialize(url, env={}) @url = URI(url) @env = env @env[PATH_INFO] = @url.path @env[QUERY_STRING] = @url.query if @url.query @env["HTTP_HOST"] = @url.host if @url.host @env["HTTP_PORT"] = @url.port if @url.port @env["rack.url_scheme"] = @url.scheme if @url.scheme super "forwarding to #{url}" end end # Rack::Recursive allows applications called down the chain to # include data from other applications (by using # <tt>rack['rack.recursive.include'][...]</tt> or raise a # ForwardRequest to redirect internally. class Recursive def initialize(app) @app = app end def call(env) dup._call(env) end def _call(env) @script_name = env[SCRIPT_NAME] @app.call(env.merge('rack.recursive.include' => method(:include))) rescue ForwardRequest => req call(env.merge(req.env)) end def include(env, path) unless path.index(@script_name) == 0 && (path[@script_name.size] == ?/ || path[@script_name.size].nil?) raise ArgumentError, "can only include below #{@script_name}, not #{path}" end env = env.merge(PATH_INFO => path, SCRIPT_NAME => @script_name, REQUEST_METHOD => "GET", "CONTENT_LENGTH" => "0", "CONTENT_TYPE" => "", "rack.input" => StringIO.new("")) @app.call(env) end end end
Upload File
Create Folder