Stephen Halter
e5ec72c833
Add test to verify HTTP/2 preamble is included in keep-alive timeout ( #3011 )
...
#2900
2018-10-15 11:09:25 -07:00
Chris Ross
3a1cf72451
#3009 HTTP/2 Test stabalization ( #3010 )
2018-10-12 17:14: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)
081cef0934
Track aborted streams for a given grace period #2832
2018-10-11 12:55:26 -07:00
Stephen Halter
8bca6b3877
Add HTTP/2 keep-alive and request header timeouts ( #2992 )
2018-10-08 17:06:15 -07:00
Chris Ross (ASP.NET)
daf6e1ecd7
Http/2 response trailers #622
2018-10-05 12:50:46 -07:00
George Drak
e9eea50966
Implement #2230 - Consume BindingAddress instead of ServerAddress ( #2975 )
...
* #2230 Mark ServerAddress as obsolete
* #2230 suppress CS0618 errors for obsoleted ServerAddress class
* #2230 Use BindingAddress instead of ServerAddress
2018-10-05 10:34:00 -07:00
Stephen Halter
f91ae20a3c
Improve RequestAborted token handling ( #2977 )
...
- Improve test reliability of tests verifying the RequestAborted token gets tripped
- Once the response body is completed, don't fire the token for that request even if it is accessed later on.
2018-10-04 16:48:50 -07:00
Stephen Halter
b3f9f38ac6
Test LibuvConstants.IsConnectionReset
2018-10-04 15:40:09 -07:00
Chris Ross (ASP.NET)
35d35f22a3
Disallow any frames after a reset is received #2154
2018-10-04 09:40:21 -07:00
Stephen Halter
5bd2a41517
Make transport logs for connection close more detailed and consistent ( #2978 )
2018-10-03 12:41:00 -07:00
Simon Cropp
d4ab8b27a9
typos, inline outs, redundant usings ( #2965 )
2018-09-28 11:14:59 -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
John Luo
f56b682b36
Impose integer decode limit in HPACK
2018-09-26 17:18:24 -07:00
Chris Ross (ASP.NET)
01b35bc391
Make HTTP/2 connection and stream windows configurable #2814
2018-09-24 15:31:50 -07:00
John Luo
ceaa3c86fc
Add configurability for max header field size in HPACK
2018-09-24 10:53:15 -07:00
Stephen Halter
f3b6430aab
Initialize Heartbeat in KestrelServer.StartAsync ( #2939 )
...
Fixes #2850 again
2018-09-17 16:43:30 -07:00
tiago-soczek
a7e412ec80
Fix category logger for HttpsConnectionAdapter and LoggingConnectionAdapter. #2929 ( #2935 )
2018-09-17 16:01:14 -07:00
Chris Ross (ASP.NET)
b8423b8530
Change how HTTP/2 frames are parsed and generated #2858
2018-09-17 14:48:43 -07:00
John Luo
69ff195f66
Enable hpack/4.2 - Maximum Table Size test
...
- Ensure dynamic tables size updates occur at the beginning of the header block
2018-09-17 12:46:51 -07:00
John Luo
025aca52df
Port long Huffman encoding bug fix
...
https://github.com/dotnet/corefx/pull/32043
2018-09-17 12:41:36 -07:00
Chris Ross (ASP.NET)
55e5e56422
Dispatch Http/2 write callbacks #2878
2018-09-13 11:53:30 -07:00
Chris Ross (ASP.NET)
f38f60f8ce
Map ListenOptions.Protocols from IConfiguration #2903
2018-09-10 16:27:51 -07:00
John Luo
de5ccb5c78
PR feedback for https://github.com/aspnet/KestrelHttpServer/pull/2838
2018-09-10 13:58:46 -07:00
Stephen Halter
f47aa1283e
Make usage of TestConnection.Receive vs ReceiveEnd consistent ( #2896 )
...
- Add a transport test verifying that concurrent requests/connections work.
2018-09-07 18:09:51 -07:00
Simon Cropp
d3d7c55198
fix some spelling ( #2888 )
2018-09-06 11:48:25 -07:00
Chris Ross (ASP.NET)
b8e56691cb
Implement MaxRequestLineSize for HTTP/2 #2813
2018-09-06 10:01:28 -07:00
Chris Ross (ASP.NET)
384a518bda
Implement MaxRequestHeadersTotalSize for HTTP/2 #2812
2018-09-06 09:07:16 -07:00
David Fowler
edc1935475
Flow the cancellation tokens to ReadAsync and WriteAsync ( #2865 )
2018-09-06 09:04:39 -07:00
Chris Ross (ASP.NET)
991cfa8bd8
Remove limits on SETTINGS_HEADER_TABLE_SIZE #2874
2018-09-04 12:01:13 -07:00
John Luo
153020ef8a
Allow UTF8 encoded header values
2018-08-30 16:21:34 -07:00
Stephen Halter
89f4850883
Avoid throwing the same exception instances in parallel ( #2859 )
2018-08-28 10:56:46 -07:00
David Fowler
6dc55a0462
Don't preserve the ExecutionContext when dispatching callbacks ( #2861 )
...
* Don't preserve the ExecutionContext when dispatching callbacks
- The layers up stack already preserve and restore the ExecutionContext, there's no need to capture and run for the scheduler callback and cancellation token callback
2018-08-28 09:32:33 -07:00
Stephen Halter
f70ba53253
Fix race when SystemClock is accessed before first heartbeat ( #2851 )
2018-08-27 10:59:29 -07:00
John Luo
f6cc980b2c
Revert "Remove default port tests"
...
This reverts commit 74f4387807 .
2018-08-24 13:55:15 -07:00
John Luo
64127e6c76
Implement MaxFrameSize and HeaderTableSize for HTTP/2
2018-08-24 11:07:41 -07:00
Stephen Halter
e5a1101239
Improve exception handling in SocketConnection ( #2844 )
...
- Avoid race where a connection reset observed by both DoSend() and DoReceive()
resulted in a ConnectionAbortedException being thrown from the input Pipe
instead of a ConnectionResetException.
2018-08-23 16:59:02 -07:00
David Fowler
68a0863524
General connection management ( #2834 )
...
This change makes the handling of graceful shutdown work for more than just http scenarios. This should allow us to move TLS further out and should also allow us to start moving things to connection middleware instead of connection adapters.
Summary of the things changed/added:
- Added IConnectionLifetimeNotificationFeature that represents an attempt to gracefully close the connection that isn't being aborted. This feels pretty awful but we may have to do it.
- Moved connection management to the ConnectionDispatcher and out of the HttpConnectionMiddleware
- Removed Http from the names of the ConnectionManager and Heartbeat
2018-08-22 20:35:28 -07:00
John Luo
74f4387807
Remove default port tests
2018-08-20 15:54:41 -07:00
Chris Ross (ASP.NET)
aa9dde2457
Extract bitshift helper code, Frame cleanup #2773
2018-08-17 15:48:16 -07:00
Chris Ross (ASP.NET)
ff52525134
Skip ContentLength_Received_MultipleDataFramesOverSize_Reset
2018-08-17 15:44:19 -07:00
David Fowler
83488886e0
Clean up some remants of the past ( #2827 )
...
- Remove Application from HttpConnectionContext and Http*ConnectionContext (it's no longer required)
2018-08-15 23:41:32 -07:00
Stephen Halter
5becb72107
Improve test logs ( #2826 )
...
- Include hosting logs in some tests that where previously missing them
- Prevent duplicate logs from Mock CallBase an CompositeKestrelTrace
- Log ports used by transport functional tests
- Add file logging to HTTP/2 "unit" tests
2018-08-15 18:31:56 -07:00
Chris Ross (ASP.NET)
0c2923135b
Limit concurrent HTTP/2 Streams per connection #2815
2018-08-15 15:58:57 -07:00
Chris Ross (ASP.NET)
43398482a5
Implement MaxRequestBodySize for HTTP/2 #2810
2018-08-13 12:06:21 -07:00
Stephen Halter
cd6de2fa18
Improve HTTP/2 stream abort logic ( #2819 )
...
- Fix race where headers frame could be written after an abort was observed
- Fix Http2StreamTests to verify expected abort-related exceptions
2018-08-13 11:45:17 -07:00
John Luo
62a30a731d
Fix bug in graceful shutdown
2018-08-10 00:17:29 -07:00
Stephen Halter
bd3a8a3511
Small test fix to avoid potential flakiness
2018-08-09 12:12:24 -07:00
John Luo
7c9e234457
Gracefully wait for streams to complete when pipe completes
2018-08-09 11:59:47 -07:00
Stephen Halter
aaf0293ebc
Fix logging verification in tests ( #2795 )
2018-08-08 17:16:08 -07:00