From ce718ae3a83937a524a8eee3b82285c846d57410 Mon Sep 17 00:00:00 2001 From: Oskar Eichler Date: Thu, 27 Aug 2026 23:08:39 +0300 Subject: [PATCH] Frame multipart file chunks from the bytes actually copied --- lib/net/http/generic_request.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/net/http/generic_request.rb b/lib/net/http/generic_request.rb index 96396b0a..05d5bc7c 100644 --- a/lib/net/http/generic_request.rb +++ b/lib/net/http/generic_request.rb @@ -365,9 +365,7 @@ def encode_multipart_form_data(out, params, opt) elsif value.respond_to?(:size) && chunked_p # if +out+ is an IO and +value+ is a File, use IO.copy_stream flush_buffer(out, buf, chunked_p) - out << "%x\r\n" % value.size if chunked_p - IO.copy_stream(value, out) - out << "\r\n" if chunked_p + IO.copy_stream(value, Chunker.new(out)) else # +out+ is an IO, and +value+ is not a File but an IO flush_buffer(out, buf, chunked_p)