dotnet / dotnet/aspnetcore

Implement response BodyWriter, CompleteAsync for TestServer

Open
#11,598 11 comments 3 reactions 0 assignees View on GitHub
affected-few area-hosting area-networking enhancement severity-minor
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 6h
Merged PRs (30d)
290

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.

- [x] BodyWriter
- [x] Reset (HTTP2)
- [x] 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..

https://github.com/aspnet/AspNetCore/issues/11305
https://github.com/aspnet/AspNetCore/issues/11194

@JamesNK

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.