Merge branch 'issue-93' into 'master'

fix interest calculation on HTTP/2 handshake

Closes #93

See merge request honeyryderchuck/httpx!84
This commit is contained in:
HoneyryderChuck 2020-04-23 13:34:44 +00:00
commit 74f6c0ae03
6 changed files with 11 additions and 5 deletions

View File

@ -20,6 +20,7 @@
* fixed `compression` plugin not handling `content-encoding: identity` payloads; * fixed `compression` plugin not handling `content-encoding: identity` payloads;
* do not overwrite user-defined `max_requests`on HTTP2 connection handshake; * do not overwrite user-defined `max_requests`on HTTP2 connection handshake;
* `retries` plugin: connection was blocking when a request with body was retried; * `retries` plugin: connection was blocking when a request with body was retried;
* `alt-svc: clear` response header was causing the process to hang;
## Tests ## Tests

View File

@ -281,13 +281,13 @@ module HTTPX
return return
end end
log { "READ: #{siz} bytes..." }
if siz.zero? if siz.zero?
read_drained = @read_buffer.empty? read_drained = @read_buffer.empty?
break break
end end
log { "READ: #{siz} bytes..." }
parser << @read_buffer.to_s parser << @read_buffer.to_s
break if @state == :closing || @state == :closed break if @state == :closing || @state == :closed

View File

@ -36,7 +36,9 @@ module HTTPX
return :w if @connection.state == :closed return :w if @connection.state == :closed
return :r unless (@connection.state == :connected && @handshake_completed) unless (@connection.state == :connected && @handshake_completed)
return @buffer.empty? ? :r : :rw
end
return :w unless @pending.empty? return :w unless @pending.empty?

View File

@ -37,6 +37,9 @@ module HTTPX
@timers.fire @timers.fire
end end
rescue Interrupt
@connections.each(&:reset)
raise
rescue StandardError => e rescue StandardError => e
@connections.each do |connection| @connections.each do |connection|
connection.emit(:error, e) connection.emit(:error, e)