From e1c903621c5a6bd72433e1efaca2cb9f6fba81b4 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Thu, 16 Feb 2023 00:04:06 +0100 Subject: [PATCH] `Rack::File` -> `Rack::Files` (#1877) The alias was deprecated: https://github.com/rack/rack/pull/1811 Looks like Rack::Files appeared in rack 2.1.0 according to https://github.com/rack/rack/commit/626272b2bc6b270bbd3d2aa6aaa64722350f42be Sinatra needs at least rack 2.2.4 (since v3.0.0) so this should be fine --- lib/sinatra/base.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/sinatra/base.rb b/lib/sinatra/base.rb index c063c4a9..9a2cd954 100644 --- a/lib/sinatra/base.rb +++ b/lib/sinatra/base.rb @@ -291,7 +291,7 @@ module Sinatra elsif value # Rack 2.0 returns a Rack::File::Iterator here instead of # Rack::File as it was in the previous API. - unless request.head? || value.is_a?(Rack::File::Iterator) || value.is_a?(Stream) + unless request.head? || value.is_a?(Rack::Files::Iterator) || value.is_a?(Stream) headers.delete 'Content-Length' end response.body = value @@ -429,7 +429,7 @@ module Sinatra last_modified opts[:last_modified] if opts[:last_modified] - file = Rack::File.new(File.dirname(settings.app_file)) + file = Rack::Files.new(File.dirname(settings.app_file)) result = file.serving(request, path) result[1].each { |k, v| headers[k] ||= v }