Skip to content

Commit 909fe8a

Browse files
committed
♻️ Extract ResponseReader gets/read
1 parent b3f1dfe commit 909fe8a

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

lib/net/imap/response_reader.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,27 @@ def line_done? = buff.end_with?(CRLF)
3535
def get_literal_size = /\{(\d+)\}\r\n\z/n =~ buff && $1.to_i
3636

3737
def read_line
38-
buff << (@sock.gets(CRLF, read_limit) or throw :eof)
38+
buff << gets
3939
max_response_remaining! unless line_done?
4040
end
4141

4242
def read_literal
4343
# check before allocating memory for literal
4444
max_response_remaining!
4545
literal = String.new(capacity: literal_size)
46-
buff << (@sock.read(read_limit(literal_size), literal) or throw :eof)
46+
buff << read(literal_size, literal)
4747
ensure
4848
@literal_size = nil
4949
end
5050

51+
def gets(sep = CRLF, limit = nil)
52+
@sock.gets(sep, read_limit(limit)) or throw :eof
53+
end
54+
55+
def read(limit = nil, into = nil)
56+
@sock.read(read_limit(limit), into) or throw :eof
57+
end
58+
5159
def read_limit(limit = nil)
5260
[limit, max_response_remaining!].compact.min
5361
end

0 commit comments

Comments
 (0)