Open
Description
gRPC depends on pipes and a few other features only implemented by Kestrel such as StartAsync and CompleteAsync. Missing those features in TestServer makes it hard to test gRPC and related components.
- BodyWriter
- Reset (HTTP2)
- StartAsync
- CompleteAsync
TestServer already uses a pipe internally for its response data, but exposing it turns out to be complicated because we add lots of semantics on top such as the first flush sending headers, content-length verification, etc..