Skip to content

Commit 3e29393

Browse files
authored
🔀 Merge pull request #643 from eregon/raise-pass-exception
Pass an Exception to #raise
2 parents de685f9 + 236832f commit 3e29393

3 files changed

Lines changed: 6 additions & 5 deletions

File tree

lib/net/imap/response_reader.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,10 @@ def min_response_remaining
7070
empty? ? 3 : done? ? 0 : (literal_size || 0) + 2
7171
end
7272

73-
def guard_response_too_large! = (raise self if response_too_large?)
74-
75-
def exception(msg = nil)
76-
ResponseTooLargeError.new(
77-
msg, max_response_size:, bytes_read:, literal_size:,
73+
def guard_response_too_large!
74+
return unless response_too_large?
75+
raise ResponseTooLargeError.new(
76+
max_response_size:, bytes_read:, literal_size:,
7877
)
7978
end
8079

test/net/imap/fake_server/test_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ module Net::IMAP::FakeServer::TestHelper
1616
def run_fake_server_in_thread(ignore_io_error: false,
1717
report_on_exception: true,
1818
timeout: 10, **opts)
19+
timeout *= EnvUtil.timeout_scale || 1 if defined?(EnvUtil.timeout_scale)
1920
Timeout.timeout(timeout) do
2021
server = Net::IMAP::FakeServer.new(timeout: timeout, **opts)
2122
@threads << Thread.new do

test/net/imap/test_imap_max_response_size.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class IMAPMaxResponseSizeTest < Net::IMAP::TestCase
3636
Net::IMAP.config.max_response_size = 1<<20
3737
with_fake_server(preauth: false, ignore_io_error: true) do |server, client|
3838
client.max_response_size = 50
39+
client.noop # will reset response_reader, so the above config takes effect
3940
server.on("NOOP") do |resp|
4041
resp.untagged("1 FETCH (BODY[] {1000}\r\n" + "a" * 1000 + ")")
4142
end

0 commit comments

Comments
 (0)