From 1f8c71f33f1c2ff3d796541ecdb19ff017d899a7 Mon Sep 17 00:00:00 2001 From: Oskar Eichler Date: Sun, 30 Aug 2026 02:19:12 +0200 Subject: [PATCH] Honor output buffers for zero-length reads --- lib/rackup/stream.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rackup/stream.rb b/lib/rackup/stream.rb index 137f8ca..29c97ac 100644 --- a/lib/rackup/stream.rb +++ b/lib/rackup/stream.rb @@ -30,7 +30,7 @@ module Reader # @param buffer [String] the buffer which will receive the data # @return a buffer containing the data def read(length = nil, buffer = nil) - return '' if length == 0 + return buffer ? buffer.clear : String.new(encoding: Encoding::BINARY) if length == 0 buffer ||= String.new.force_encoding(Encoding::BINARY)