HTTP/2 Continuation test - #40533
HTTP/2 Continuation test#40533
Conversation
|
Tagging subscribers to this area: @dotnet/ncl |
| protected override Version UseVersion => HttpVersion.Version20; | ||
|
|
||
| [Fact] | ||
| public async Task SendAsync_LargeHeaders_Continuation_CorrectlyWritten() |
There was a problem hiding this comment.
I think this test should be put in HttpClientHandlerTest.Http2.cs. That's where most of the HTTP2 specific tests are.
I also think that this test should specifically check that the HEADERS and CONTINUATION frames are sent as we expect them to be (i.e. one HEADER frame of max size, then a single CONTINUATION with the rest of the header data). The HTTP2 tests in HttpClientHandlerTest.Http2.cs generally try to validate the specific frames being sent, instead of just using the generic loopback logic. That's intentional; these tests are HTTP2 specific and we want to validate the specific HTTP2 low-level behavior.
I also think we should consider adding another test that causes a second CONTINUATION to be sent, so that it's HEADERS, CONTINUATION w/o EndHeaders, CONTINUATION with EndHeaders.
There was a problem hiding this comment.
Moved and extended to test for 0, 1 and 2 CONTINUATION frames in a request, server side reads the frames and checks the number of continuations.
geoffkizer
left a comment
There was a problem hiding this comment.
Overall LGTM; a couple minor things above.
The original issue with headers not being flushed when send in CONTINUATION frame was already fixed in #39166
This PR:
Closes #860
Fixes #1496