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:
parent
828dd369f9
commit
900e2847e2
2 changed files with 12 additions and 10 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -35,10 +35,10 @@ module HTTParty
|
|||
|
||||
attr_reader :request, :response, :parsed_response, :body, :headers
|
||||
|
||||
def initialize(request, response, parsed_response)
|
||||
def initialize(request, response, parsed_response, options={})
|
||||
@request = request
|
||||
@response = response
|
||||
@body = response.body
|
||||
@body = response.body || options[:body]
|
||||
@parsed_response = parsed_response
|
||||
@headers = Headers.new(response.to_hash)
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue