From f8a3e594763c17f4dcafec3d40b6d9e1f64021dc Mon Sep 17 00:00:00 2001 From: Brian Muller Date: Tue, 12 Mar 2013 14:49:20 -0400 Subject: [PATCH] maintain blocks passed to 'perform' in redirects --- lib/httparty/request.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/httparty/request.rb b/lib/httparty/request.rb index 4440cdba..81d63ac1 100644 --- a/lib/httparty/request.rb +++ b/lib/httparty/request.rb @@ -103,7 +103,7 @@ def perform(&block) end handle_deflation - handle_response(chunked_body) + handle_response(chunked_body, &block) end private @@ -172,14 +172,14 @@ def query_string(uri) query_string_parts.size > 0 ? query_string_parts.join('&') : nil end - def handle_response(body) + def handle_response(body, &block) if response_redirects? options[:limit] -= 1 self.path = last_response['location'] self.redirect = true self.http_method = Net::HTTP::Get unless options[:maintain_method_across_redirects] capture_cookies(last_response) - perform + perform(&block) else body = body || last_response.body Response.new(self, last_response, lambda { parse_response(body) }, :body => body)