removing the responses list from http1, as they're already stored in the request

This commit is contained in:
HoneyryderChuck 2017-12-13 00:10:17 +00:00
parent e19d9a0dd2
commit 7b3f78e5ad

View File

@ -17,7 +17,6 @@ module HTTPX
@version = [1,1]
@pending = []
@requests = []
@responses = []
end
def reset
@ -28,7 +27,7 @@ module HTTPX
def empty?
# this means that for every request there's an available
# partial response, so there are no in-flight requests waiting.
@requests.size == @responses.size
@requests.size == @requests.count { |r| r.response.nil? }
end
def <<(data)
@ -60,9 +59,9 @@ module HTTPX
log { "headers received" }
headers = @options.headers_class.new(h)
response = @options.response_class.new(@requests.last, @parser.status_code, headers, @options)
@responses << response
log { response.headers.each.map { |f, v| "-> #{f}: #{v}" }.join("\n") }
request = @requests.last
request.response = response
log { response.headers.each.map { |f, v| "-> #{f}: #{v}" }.join("\n") }
# parser can't say if it's parsing GET or HEAD,
# call the completeness callback manually
on_message_complete if request.verb == :head
@ -70,13 +69,13 @@ module HTTPX
def on_body(chunk)
log { "-> #{chunk.inspect}" }
@responses.last << chunk
@requests.last.response << chunk
end
def on_message_complete
log { "parsing complete" }
request = @requests.shift
response = @responses.shift
response = request.response
reset
emit(:response, request, response)