1
0
Fork 0
mirror of https://github.com/jnunemaker/httparty synced 2023-03-27 23:23:07 -04:00

Horrible hack to fix chunked bodies on 1.8.7.

This commit is contained in:
John Nunemaker 2012-04-15 22:21:58 -04:00
parent 828dd369f9
commit 900e2847e2
2 changed files with 12 additions and 10 deletions

View file

@ -70,6 +70,7 @@ module HTTParty
def perform(&block)
validate
setup_raw_request
chunked_body = nil
self.last_response = http.request(@raw_request) do |http_response|
if block
@ -80,12 +81,12 @@ module HTTParty
block.call(fragment)
end
http_response.body = chunks.join
chunked_body = chunks.join
end
end
handle_deflation
handle_response
handle_response(chunked_body)
end
private
@ -196,7 +197,7 @@ module HTTParty
query_string_parts.size > 0 ? query_string_parts.join('&') : nil
end
def handle_response
def handle_response(body)
if response_redirects?
options[:limit] -= 1
self.path = last_response['location']
@ -205,7 +206,8 @@ module HTTParty
capture_cookies(last_response)
perform
else
Response.new(self, last_response, parse_response(last_response.body))
body = body || last_response.body
Response.new(self, last_response, parse_response(body), :body => body)
end
end

View file

@ -35,12 +35,12 @@ module HTTParty
attr_reader :request, :response, :parsed_response, :body, :headers
def initialize(request, response, parsed_response)
@request = request
@response = response
@body = response.body
def initialize(request, response, parsed_response, options={})
@request = request
@response = response
@body = response.body || options[:body]
@parsed_response = parsed_response
@headers = Headers.new(response.to_hash)
@headers = Headers.new(response.to_hash)
end
def class
@ -64,7 +64,7 @@ module HTTParty
klass === response
end
end
def respond_to?(name)
return true if [:request,:response,:parsed_response,:body,:headers].include?(name)
parsed_response.respond_to?(name) or response.respond_to?(name)