Chris Ross (ASP.NET)
277a5502fd
Flush response headers #3031
2018-10-19 18:00:24 -07:00
Chris Ross (ASP.NET)
23a4e11261
Send RST for canceled HTTP/2 writes #3007
2018-10-19 11:03:44 -07:00
Stephen Halter
1f2e704dd3
Implement MinResponseDataRate for HTTP/2 ( #3003 )
...
#2807
2018-10-12 13:15:46 -07:00
Chris Ross (ASP.NET)
daf6e1ecd7
Http/2 response trailers #622
2018-10-05 12:50:46 -07:00
Stephen Halter
e9c2acf4dc
Add HTTP/2 response draining timeout ( #2956 )
...
* Move drain timeout to Http1Connection
* Add TimeoutControl class
2018-09-27 17:59:12 -07:00
Chris Ross (ASP.NET)
55e5e56422
Dispatch Http/2 write callbacks #2878
2018-09-13 11:53:30 -07:00
David Fowler
edc1935475
Flow the cancellation tokens to ReadAsync and WriteAsync ( #2865 )
2018-09-06 09:04:39 -07:00
Stephen Halter
94cfc01fbf
Implement HTTP/2 input flow control ( #2740 )
2018-07-27 10:47:27 -07:00
Chris Ross (ASP.NET)
429bcfe216
Sending and receiving RST frames. #2462
2018-07-16 09:13:11 -07:00
Stephen Halter
a826f478ad
Implement HTTP/2 output flow control ( #2690 )
2018-07-10 14:11:59 -07:00
Stephen Halter
0aff4a0440
Handle client and server aborts differently from eachhother ( #2612 )
...
* Trace when app aborts connection
* Improve exception messages
* Always abort connection with ConnectionAbortedException
* Add ConnectionContext.Abort(Exception)
2018-06-01 14:42:30 -07:00
Stephen Halter
b0e1fa5e30
Fix connection abort
2018-04-23 17:01:49 -07:00
David Fowler
3fc69dc71f
Updated Streams to override Memory and Span overloads ( #2333 )
...
- Also plumbed Memory/Span through Kestrel over ArraySegment.
- Throw synchronously from the HttpRequestStream instead of async in some cases.
2018-02-21 00:00:46 -08:00
Pavel Krymets
a84095e5c3
React to pipelines changes ( #2275 )
2018-01-29 14:34:48 -08:00
Cesar Blum Silveira
1b1137b880
HTTP/2: connection error when receiving frames disallowed by stream states.
2017-10-02 10:24:57 -07:00
Cesar Blum Silveira
a31d1e024c
Merge code paths duplicated between HTTP/1.x and HTTP/2 implementations ( #2017 ).
...
- Most of the shared code is in the HttpProtocol class (former Frame)
- Virtual calls handle protocol-specific things
- Move the ProcessRequestsAsync loop to HttpProtocol
- Implement HTTP/1.x request processing in Http1Connection and HTTP/2
in Http2Stream, with Http1Connection<T> and Http2Stream<T> subclassing
those classes in order to handle the generic HttpContext parameter
- Split MessageBody into Http1MessageBody and Http2MessageBody,
with MessageBody containing shared member variables and methods
2017-09-14 17:35:57 -07:00