diff options
Diffstat (limited to 'lib/yahns/chunk_body.rb')
-rw-r--r-- | lib/yahns/chunk_body.rb | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/lib/yahns/chunk_body.rb b/lib/yahns/chunk_body.rb index aab803b..7153ad9 100644 --- a/lib/yahns/chunk_body.rb +++ b/lib/yahns/chunk_body.rb @@ -1,24 +1,19 @@ # -*- encoding: binary -*- # Copyright (C) 2016 all contributors <yahns-public@yhbt.net> # License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt> -# frozen_string_literal: true +# frozen_string_literal: false class Yahns::ChunkBody # :nodoc: - def initialize(body, vec) + def initialize(body) @body = body - @vec = vec end def each - vec = @vec - vec[2] = "\r\n".freeze @body.each do |chunk| - vec[0] = "#{chunk.bytesize.to_s(16)}\r\n" - vec[1] = chunk - # vec[2] never changes: "\r\n" above - yield vec + chunk = "#{chunk.bytesize.to_s(16)}\r\n#{chunk}\r\n" + yield chunk + chunk.clear end - vec.clear yield "0\r\n\r\n".freeze end |