httpclient 2.2.3 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/httpclient.rb +3 -2
- data/lib/httpclient/session.rb +2 -2
- data/lib/httpclient/version.rb +1 -1
- data/test/test_httpclient.rb +11 -1
- metadata +2 -2
data/lib/httpclient.rb
CHANGED
|
@@ -231,8 +231,7 @@ require 'httpclient/cookie'
|
|
|
231
231
|
#
|
|
232
232
|
class HTTPClient
|
|
233
233
|
RUBY_VERSION_STRING = "ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
|
234
|
-
|
|
235
|
-
LIB_NAME = "(#{$1}/#{$2}, #{RUBY_VERSION_STRING})"
|
|
234
|
+
LIB_NAME = "(#{VERSION}, #{RUBY_VERSION_STRING})"
|
|
236
235
|
|
|
237
236
|
include Util
|
|
238
237
|
|
|
@@ -337,6 +336,8 @@ class HTTPClient
|
|
|
337
336
|
attr_proxy(:receive_timeout, true)
|
|
338
337
|
# Reuse the same connection within this timeout in sec. from last used.
|
|
339
338
|
attr_proxy(:keep_alive_timeout, true)
|
|
339
|
+
# Size of reading block for non-chunked response.
|
|
340
|
+
attr_proxy(:read_block_size, true)
|
|
340
341
|
# Negotiation retry count for authentication. 5 by default.
|
|
341
342
|
attr_proxy(:protocol_retry_count, true)
|
|
342
343
|
# if your ruby is older than 2005-09-06, do not set socket_sync = false to
|
data/lib/httpclient/session.rb
CHANGED
|
@@ -918,8 +918,8 @@ class HTTPClient
|
|
|
918
918
|
|
|
919
919
|
def read_body_length(&block)
|
|
920
920
|
return nil if @content_length == 0
|
|
921
|
-
buf = ''
|
|
922
921
|
while true
|
|
922
|
+
buf = ''
|
|
923
923
|
maxbytes = @read_block_size
|
|
924
924
|
maxbytes = @content_length if maxbytes > @content_length
|
|
925
925
|
timeout(@receive_timeout, ReceiveTimeoutError) do
|
|
@@ -969,8 +969,8 @@ class HTTPClient
|
|
|
969
969
|
yield @readbuf
|
|
970
970
|
@readbuf = nil
|
|
971
971
|
end
|
|
972
|
-
buf = ''
|
|
973
972
|
while true
|
|
973
|
+
buf = ''
|
|
974
974
|
timeout(@receive_timeout, ReceiveTimeoutError) do
|
|
975
975
|
begin
|
|
976
976
|
@socket.readpartial(@read_block_size, buf)
|
data/lib/httpclient/version.rb
CHANGED
data/test/test_httpclient.rb
CHANGED
|
@@ -33,7 +33,7 @@ class TestHTTPClient < Test::Unit::TestCase
|
|
|
33
33
|
@client.get(serverurl)
|
|
34
34
|
lines = str.split(/(?:\r?\n)+/)
|
|
35
35
|
assert_equal("= Request", lines[0])
|
|
36
|
-
assert_match(/^User-Agent: agent_name_foo/, lines[4])
|
|
36
|
+
assert_match(/^User-Agent: agent_name_foo \(#{HTTPClient::VERSION}/, lines[4])
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
def test_from
|
|
@@ -591,6 +591,16 @@ EOS
|
|
|
591
591
|
assert_nil(res.content)
|
|
592
592
|
end
|
|
593
593
|
|
|
594
|
+
def test_get_with_block_chunk_string_recycle
|
|
595
|
+
@client.read_block_size = 2
|
|
596
|
+
body = []
|
|
597
|
+
res = @client.get(serverurl + 'servlet') { |str|
|
|
598
|
+
body << str
|
|
599
|
+
}
|
|
600
|
+
assert_equal(2, body.size)
|
|
601
|
+
assert_equal("get", body.join) # Was "tt" by String object recycle...
|
|
602
|
+
end
|
|
603
|
+
|
|
594
604
|
def test_post
|
|
595
605
|
assert_equal("post", @client.post(serverurl + 'servlet').content[0, 4])
|
|
596
606
|
res = @client.post(serverurl + 'servlet', {1=>2, 3=>4})
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: httpclient
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.2.
|
|
4
|
+
version: 2.2.4
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2011-
|
|
12
|
+
date: 2011-12-08 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
14
|
description:
|
|
15
15
|
email: nahi@ruby-lang.org
|