|
Server : LiteSpeed System : Linux server354.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64 User : getfsxkz ( 1681) PHP Version : 8.1.33 Disable Function : NONE Directory : /opt/alt/ruby21/lib64/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/ |
Upload File : |
require 'rack/body_proxy'
module Rack
# Middleware tracks and cleans Tempfiles created throughout a request (i.e. Rack::Multipart)
# Ideas/strategy based on posts by Eric Wong and Charles Oliver Nutter
# https://groups.google.com/forum/#!searchin/rack-devel/temp/rack-devel/brK8eh-MByw/sw61oJJCGRMJ
class TempfileReaper
def initialize(app)
@app = app
end
def call(env)
env['rack.tempfiles'] ||= []
status, headers, body = @app.call(env)
body_proxy = BodyProxy.new(body) do
env['rack.tempfiles'].each { |f| f.close! } unless env['rack.tempfiles'].nil?
end
[status, headers, body_proxy]
end
end
end