diff --git a/lib/ld-eventsource/impl/buffered_line_reader.rb b/lib/ld-eventsource/impl/buffered_line_reader.rb index 6f6f0e8..7f37dd9 100644 --- a/lib/ld-eventsource/impl/buffered_line_reader.rb +++ b/lib/ld-eventsource/impl/buffered_line_reader.rb @@ -22,8 +22,8 @@ def self.lines_from(chunks) Enumerator.new do |gen| chunks.each do |chunk| - chunk.force_encoding("ASCII-8BIT") - buffer << chunk + chunk = chunk.dup.force_encoding("ASCII-8BIT") + buffer += chunk loop do # Search for a line break in any part of the buffer that we haven't yet seen.