Skip to content

Commit f41faee

Browse files
committed
Remove streams we cancelled
1 parent 78cae0d commit f41faee

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

lib/Cro/HTTP2/GeneralParser.pm6

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,12 @@ role Cro::HTTP2::GeneralParser does Cro::ConnectionState[Cro::HTTP2::ConnectionS
6565

6666
when Cro::HTTP2::Frame::Data {
6767
my $stream = %streams{.stream-identifier};
68-
self!check-data($stream, .stream-identifier, $curr-sid);
69-
$stream.body.emit: .data;
70-
if .end-stream {
71-
$stream.body.done;
68+
if $stream {
69+
self!check-data($stream, .stream-identifier, $curr-sid);
70+
$stream.body.emit: .data;
71+
if .end-stream {
72+
$stream.body.done;
73+
}
7274
}
7375
}
7476
when Cro::HTTP2::Frame::Headers {
@@ -90,7 +92,7 @@ role Cro::HTTP2::GeneralParser does Cro::ConnectionState[Cro::HTTP2::ConnectionS
9092
whenever $cancellation {
9193
if $response === $response-to-cancel {
9294
my $exception = X::Cro::HTTP::Client::Timeout.new(phase => 'body', uri => $response.request.target);
93-
my $stream = %streams{$curr-sid};
95+
my $stream = %streams{$curr-sid}:delete;
9496
$stream.body.quit($exception);
9597
}
9698
}

0 commit comments

Comments
 (0)