class Sinatra::ExtendedRack
def setup_close(env, _status, _headers, body)
def setup_close(env, _status, _headers, body) return unless body.respond_to?(:close) && env.include?('async.close') env['async.close'].callback { body.close } env['async.close'].errback { body.close } end