X7ROOT File Manager
Current Path:
/opt/alt/ruby33/share/gems/gems/rack-3.0.8/lib/rack
opt
/
alt
/
ruby33
/
share
/
gems
/
gems
/
rack-3.0.8
/
lib
/
rack
/
??
..
??
auth
??
body_proxy.rb
(1.3 KB)
??
builder.rb
(8.56 KB)
??
cascade.rb
(2.25 KB)
??
chunked.rb
(3.3 KB)
??
common_logger.rb
(3.12 KB)
??
conditional_get.rb
(2.99 KB)
??
config.rb
(410 B)
??
constants.rb
(2.47 KB)
??
content_length.rb
(806 B)
??
content_type.rb
(695 B)
??
deflater.rb
(5.51 KB)
??
directory.rb
(6.02 KB)
??
etag.rb
(1.87 KB)
??
events.rb
(4.8 KB)
??
file.rb
(167 B)
??
files.rb
(5.66 KB)
??
head.rb
(524 B)
??
headers.rb
(2.96 KB)
??
lint.rb
(36.09 KB)
??
lock.rb
(573 B)
??
logger.rb
(414 B)
??
media_type.rb
(1.4 KB)
??
method_override.rb
(1.45 KB)
??
mime.rb
(32.69 KB)
??
mock.rb
(63 B)
??
mock_request.rb
(5.37 KB)
??
mock_response.rb
(3.28 KB)
??
multipart
??
multipart.rb
(1.17 KB)
??
null_logger.rb
(1.18 KB)
??
query_parser.rb
(8.37 KB)
??
recursive.rb
(1.78 KB)
??
reloader.rb
(3.02 KB)
??
request.rb
(24.57 KB)
??
response.rb
(10.72 KB)
??
rewindable_input.rb
(3.12 KB)
??
runtime.rb
(870 B)
??
sendfile.rb
(5.55 KB)
??
show_exceptions.rb
(13.73 KB)
??
show_status.rb
(3.58 KB)
??
static.rb
(6 KB)
??
tempfile_reaper.rb
(778 B)
??
urlmap.rb
(2.81 KB)
??
utils.rb
(21.1 KB)
??
version.rb
(958 B)
Editing: body_proxy.rb
# frozen_string_literal: true module Rack # Proxy for response bodies allowing calling a block when # the response body is closed (after the response has been fully # sent to the client). class BodyProxy # Set the response body to wrap, and the block to call when the # response has been fully sent. def initialize(body, &block) @body = body @block = block @closed = false end # Return whether the wrapped body responds to the method. def respond_to_missing?(method_name, include_all = false) super or @body.respond_to?(method_name, include_all) end # If not already closed, close the wrapped body and # then call the block the proxy was initialized with. def close return if @closed @closed = true begin @body.close if @body.respond_to?(:close) ensure @block.call end end # Whether the proxy is closed. The proxy starts as not closed, # and becomes closed on the first call to close. def closed? @closed end # Delegate missing methods to the wrapped body. def method_missing(method_name, *args, &block) @body.__send__(method_name, *args, &block) end # :nocov: ruby2_keywords(:method_missing) if respond_to?(:ruby2_keywords, true) # :nocov: end end
Upload File
Create Folder