class HTTParty::Request
def handle_response(raw_body, &block)
def handle_response(raw_body, &block) if response_redirects? options[:limit] -= 1 if options[:logger] logger = HTTParty::Logger.build(options[:logger], options[:log_level], options[:log_format]) logger.format(self, last_response) end self.path = last_response['location'] self.redirect = true if last_response.class == Net::HTTPSeeOther unless options[:maintain_method_across_redirects] && options[:resend_on_redirect] self.http_method = Net::HTTP::Get end elsif last_response.code != '307' && last_response.code != '308' unless options[:maintain_method_across_redirects] self.http_method = Net::HTTP::Get end end capture_cookies(last_response) perform(&block) else raw_body ||= last_response.body body = decompress(raw_body, last_response['content-encoding']) unless raw_body.nil? unless body.nil? body = encode_text(body, last_response['content-type']) if decompress_content? last_response.delete('content-encoding') raw_body = body end end Response.new(self, last_response, lambda { parse_response(body) }, body: raw_body) end end