Skip to content

Commit 29a85a7

Browse files
committed
Tests: handled receiving QUIC STREAM FIN in a separate packet.
Since a STREAM frame with the FIN bit set doesn't carry payload (as sent by nginx), empty DATA frame is emulated.
1 parent 2dc0f8f commit 29a85a7

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

lib/Test/Nginx/HTTP3.pm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,18 @@ sub read {
514514
goto frames;
515515
}
516516

517+
if (!length($buf) && $eof) {
518+
# emulate empty DATA frame
519+
$length = 0;
520+
$frame->{length} = $length;
521+
$frame->{type} = 'DATA';
522+
$frame->{data} = '';
523+
$frame->{flags} = $eof;
524+
$frame->{sid} = $stream;
525+
$frame->{uni} = $uni if defined $uni;
526+
goto push_me;
527+
}
528+
517529
if (length($self->{frames_incomplete}[$stream]{buf})) {
518530
$buf = $self->{frames_incomplete}[$stream]{buf} . $buf;
519531
}

0 commit comments

Comments
 (0)