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