Feature #9556 ยป add-block-to-http-get.patch
lib/net/http.rb | ||
---|---|---|
#
|
||
# print Net::HTTP.get('www.example.com', '/index.html')
|
||
#
|
||
def HTTP.get(uri_or_host, path = nil, port = nil)
|
||
get_response(uri_or_host, path, port).body
|
||
# If called with a block, yields each fragment of the
|
||
# entity body in turn as a String as it is read from
|
||
# the socket. Note that in this case, the returned response
|
||
# object will *not* contain a (meaningful) body.
|
||
#
|
||
# File.open('result.zip', 'wb') {|f|
|
||
# Net::HTTP.get('www.example.com', '/file.zip') do |chunk|
|
||
# f.write chunk
|
||
# end
|
||
# }
|
||
def HTTP.get(uri_or_host, path = nil, port = nil, &block)
|
||
if block_given?
|
||
get_response(uri_or_host, path, port) {|res|
|
||
res.read_body &block
|
||
}
|
||
else
|
||
get_response(uri_or_host, path, port).body
|
||
end
|
||
end
|
||
# Sends a GET request to the target and returns the HTTP response
|
test/net/http/test_http.rb | ||
---|---|---|
def test_s_get
|
||
assert_equal $test_net_http_data,
|
||
Net::HTTP.get(config('host'), '/', config('port'))
|
||
f = StringIO.new("".force_encoding("ASCII-8BIT"))
|
||
Net::HTTP.get(config('host'), '/', config('port')) do |chunk|
|
||
f.write chunk
|
||
end
|
||
assert_equal $test_net_http_data, f.string
|
||
end
|
||
def test_head
|