From 2f164a57581a8efd53f7bf8bae02ed15ffef7bbd Mon Sep 17 00:00:00 2001 From: Eito Katagiri Date: Sat, 12 Dec 2015 10:38:00 +0900 Subject: [PATCH 1/2] add cruby 2.2 and 2.3 for ci --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a16deda6..435ae6e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,8 @@ rvm: - 1.9.3 - 2.0.0 - 2.1.5 + - 2.2.3 + - 2.3.0-preview1 - ruby-head - jruby-18mode - jruby-19mode From 218aa12fb17becb13ee2bef07a094697bd5e1473 Mon Sep 17 00:00:00 2001 From: Eito Katagiri Date: Sat, 12 Dec 2015 10:43:57 +0900 Subject: [PATCH 2/2] use Timeout.timeout instead of Kernel.timeout --- lib/httpclient/session.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/httpclient/session.rb b/lib/httpclient/session.rb index f6bf5cb4..76ec5d58 100644 --- a/lib/httpclient/session.rb +++ b/lib/httpclient/session.rb @@ -14,6 +14,7 @@ require 'socket' require 'thread' +require 'timeout' require 'stringio' require 'zlib' @@ -497,7 +498,7 @@ def query(req) # Use absolute URI (not absolute path) iif via proxy AND not HTTPS. req.header.request_absolute_uri = !@proxy.nil? && !https?(@dest) begin - timeout(@send_timeout, SendTimeoutError) do + ::Timeout.timeout(@send_timeout, SendTimeoutError) do set_header(req) req.dump(@socket) # flush the IO stream as IO::sync mode is false @@ -731,7 +732,7 @@ def connect site = @proxy || @dest retry_number = 0 begin - timeout(@connect_timeout, ConnectTimeoutError) do + ::Timeout.timeout(@connect_timeout, ConnectTimeoutError) do if str = @test_loopback_http_response.shift @socket = create_loopback_socket(site.host, site.port, str) elsif https?(@dest) @@ -784,7 +785,7 @@ def read_header StatusParseRegexp = %r(\AHTTP/(\d+\.\d+)\s+(\d\d\d)\s*([^\r\n]+)?\r?\n\z) def parse_header(socket) - timeout(@receive_timeout, ReceiveTimeoutError) do + ::Timeout.timeout(@receive_timeout, ReceiveTimeoutError) do initial_line = nil begin begin @@ -864,7 +865,7 @@ def read_body_length(&block) buf = empty_bin_str maxbytes = @read_block_size maxbytes = @content_length if maxbytes > @content_length && @content_length > 0 - timeout(@receive_timeout, ReceiveTimeoutError) do + ::Timeout.timeout(@receive_timeout, ReceiveTimeoutError) do begin @socket.readpartial(maxbytes, buf) rescue EOFError