@@ -651,8 +651,8 @@ def redirect_uri_callback=(redirect_uri_callback)
651651 # use get method. get returns HTTP::Message as a response and you need to
652652 # follow HTTP redirect by yourself if you need.
653653 def get_content ( uri , *args , &block )
654- query , header = keyword_argument ( args , :query , :header )
655- success_content ( follow_redirect ( :get , uri , query , nil , header || { } , &block ) )
654+ query , header , to = keyword_argument ( args , :query , :header , :to )
655+ success_content ( follow_redirect ( :get , uri , query , nil , header || { } , to , &block ) )
656656 end
657657
658658 # Posts a content.
@@ -995,7 +995,7 @@ def hashy_argument_has_keys(args, *key)
995995 key . all? { |e | args [ 0 ] . key? ( e ) }
996996 end
997997
998- def do_request ( method , uri , query , body , header , &block )
998+ def do_request ( method , uri , query , body , header , to = nil , &block )
999999 res = nil
10001000 if HTTP ::Message . file? ( body )
10011001 pos = body . pos rescue nil
@@ -1016,7 +1016,7 @@ def do_request(method, uri, query, body, header, &block)
10161016 # We want to delete Connection usage in do_get_block but Newrelic gem depends on it.
10171017 # https://github.com/newrelic/rpm/blob/master/lib/new_relic/agent/instrumentation/httpclient.rb#L34-L36
10181018 conn = Connection . new
1019- res = do_get_block ( req , proxy , conn , &block )
1019+ res = do_get_block ( req , proxy , conn , to , &block )
10201020 # Webmock's do_get_block returns ConditionVariable
10211021 if !res . respond_to? ( :previous )
10221022 res = conn . pop
@@ -1085,7 +1085,7 @@ def adapt_block(&block)
10851085 proc { |r , str | block . call ( str ) }
10861086 end
10871087
1088- def follow_redirect ( method , uri , query , body , header , &block )
1088+ def follow_redirect ( method , uri , query , body , header , to = nil , &block )
10891089 uri = to_resource_url ( uri )
10901090 if block
10911091 b = adapt_block ( &block )
@@ -1101,7 +1101,7 @@ def follow_redirect(method, uri, query, body, header, &block)
11011101 request_query = query
11021102 while retry_number < @follow_redirect_count
11031103 body . pos = pos if pos
1104- res = do_request ( method , uri , request_query , body , header , &filtered_block )
1104+ res = do_request ( method , uri , request_query , body , header , to , &filtered_block )
11051105 res . previous = previous
11061106 if res . redirect?
11071107 if res . header [ 'location' ] . empty?
@@ -1226,7 +1226,7 @@ def no_proxy?(uri)
12261226
12271227 # !! CAUTION !!
12281228 # Method 'do_get*' runs under MT conditon. Be careful to change.
1229- def do_get_block ( req , proxy , conn , &block )
1229+ def do_get_block ( req , proxy , conn , to = nil , &block )
12301230 @request_filter . each do |filter |
12311231 filter . filter_request ( req )
12321232 end
@@ -1244,7 +1244,8 @@ def do_get_block(req, proxy, conn, &block)
12441244 @debug_dev << "\n \n = Response\n \n " if @debug_dev
12451245 do_get_header ( req , res , sess )
12461246 conn . push ( res )
1247- sess . get_body do |part |
1247+
1248+ sess . get_body ( to ) do |part |
12481249 set_encoding ( part , res . body_encoding )
12491250 if block
12501251 block . call ( res , part . dup )
0 commit comments