PHP 8.2.31
Preview: body_proxy.rb Size: 1.30 KB
//proc/thread-self/root/opt/alt/ruby27/share/gems/gems/rack-3.0.8/lib/rack/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

Directory Contents

Dirs: 2 × Files: 44

Name Size Perms Modified Actions
auth DIR
- drwxr-xr-x 2024-03-06 04:26:11
Edit Download
multipart DIR
- drwxr-xr-x 2024-03-06 04:26:11
Edit Download
1.30 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
8.56 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
2.25 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
3.30 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
3.12 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
2.99 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
410 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
2.47 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
806 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
695 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
5.51 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
6.02 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
1.87 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
4.80 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
167 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
5.66 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
524 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
2.96 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
36.09 KB lrwxr-xr-x 2024-02-12 21:16:27
Edit Download
573 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
414 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
1.40 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
1.45 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
32.69 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
63 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
5.37 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
3.28 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
1.17 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
1.18 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
8.37 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
1.78 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
3.02 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
24.57 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
10.72 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
3.12 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
870 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
5.55 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
13.73 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
3.58 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
6.00 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
778 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download
2.81 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
21.10 KB lrw-r--r-- 2024-02-12 21:16:27
Edit Download
958 B lrw-r--r-- 2024-02-12 21:16:27
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).