Fix hq-interop (HTTP 0.9 over QUIC)
commitcc7c4e28104a550b9cb5945c9901588056ac19dc
authorJoseph Beshay <jbeshay@meta.com>
Tue, 7 Feb 2023 23:40:25 +0000 (7 15:40 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Tue, 7 Feb 2023 23:40:25 +0000 (7 15:40 -0800)
treee77e27beae3678a72156a5576596d4cd95a7a220
parent6955f7aa850949fbbe64986bfd0907a51dfa064f
Fix hq-interop (HTTP 0.9 over QUIC)

Summary:
quic interop has been broken for mvfst client against server implementations that expect a stream FIN at the end of the request. This only affects hq-interop (http/0.9 over QUIC).
This fixes that by:
- Ensuring H1Codec sends an EOF at the end of the request when required. This is only used for H1QUpstreamSession.
- QuicStreamAsyncTransport tolerating write errors after the EOF has been delivered and the underlying stream is closed.

Reviewed By: mjoras

Differential Revision: D42860459

fbshipit-source-id: 65eb148cf40e677ac5a005eaa2d91a742ed8cbd8
third-party/proxygen/src/proxygen/httpserver/samples/hq/H1QUpstreamSession.h
third-party/proxygen/src/proxygen/lib/http/codec/HTTP1xCodec.cpp
third-party/proxygen/src/proxygen/lib/http/codec/HTTP1xCodec.h