Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 1 addition & 7 deletions lib/async/http/protocol/http2/connection.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,14 +91,8 @@ def read_in_background(parent: Task.current)
self.consume_window
self.read_frame
end
rescue Async::Stop, ::IO::TimeoutError, ::Protocol::HTTP2::GoawayError => error
# Error is raised if a response is actively reading from the
# connection. The connection is silently closed if GOAWAY is
# received outside the request/response cycle.
rescue SocketError, IOError, EOFError, Errno::ECONNRESET, Errno::EPIPE
# Ignore.
rescue => error
# Every other error.
# Close with error.
ensure
# Don't call #close twice.
if @reader
Expand Down
4 changes: 4 additions & 0 deletions releases.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Releases

## Unreleased

- Propagate all errors from background reader to active streams so that they are closed correctly (e.g. errors are not missed).

## v0.92.2

- Better handling of trailers. If invalid trailers are received, the connection (HTTP/1) or stream (HTTP/2) is reset.
Expand Down
Loading