Stephen Halter
a9d6cf13eb
Consistently handle connection resets ( #2547 )
2018-05-22 16:38:21 -07:00
Mike Harder
99a661edd6
Improve reliability of RequestTimesOutWhenRequestBodyNotReceivedAtSpecifiedMinimumRate ( #2589 )
...
- Fix race condition in test code
- Addresses https://github.com/aspnet/KestrelHttpServer/issues/2539
2018-05-18 16:25:01 -07:00
Mike Harder
1951ddf6ea
Improve reliability of MaxRequestBufferSizeTests.LargeUpload ( #2586 )
...
- Increase _dataLength from 20MB to 40MB to improve test reliability when using Sockets transport on Windows
- Addresses https://github.com/aspnet/KestrelHttpServer/issues/2225
2018-05-17 16:53:52 -07:00
Stephen Halter
a13339dd5c
Re-enable ConnectionCountingReturnsToZero on non-macOS machines ( #2585 )
2018-05-17 11:54:58 -07:00
John Luo
336fe6ed90
Dispose base
2018-05-17 10:45:50 -07:00
John Luo
ca25a4a63e
React to Logging changes
2018-05-16 18:09:27 -07:00
John Luo
8da5f55832
React to logging changes
2018-05-15 17:16:49 -07:00
Stephen Halter
f8f6f39f55
Wait off the ConnectionClosed token to stop tracking ConnectionCallback ( #2574 )
...
- The prior strategy of waiting for the pipe completed callbacks doesn't work
because blocks are returned to the memory pool after the callbacks are fired.
2018-05-15 12:38:35 -07:00
Stephen Halter
c683316253
Generate repetitive TransportConnection FeatureCollection code ( #2548 )
2018-05-14 17:20:48 -07:00
Stephen Halter
514917b9a8
Wait for input writer to complete before calling OnConnectionClosed ( #2566 )
2018-05-14 11:51:49 -07:00
Stephen Halter
b64c0105b8
Use correct TaskCompletionSource ctor ( #2567 )
2018-05-11 14:57:20 -07:00
Stephen Halter
b040e33b1b
Merge branch 'release/2.1' into dev
2018-05-10 23:47:51 -07:00
Stephen Halter
da21fc89cf
Handle exception in SocketConnection.Shutdown() ( #2562 )
2018-05-10 23:39:06 -07:00
Stephen Halter
e6a88c1b9c
Relieve response backpressure immediately when closing socket ( #2557 )
...
* Relieve response backpressure immediately when closing socket
2018-05-10 17:13:57 -07:00
Stephen Halter
f04118fca1
Merge branch 'halter73/merge-2.1-dev' into dev
2018-05-09 17:27:47 -07:00
Pranav K
80fa1d699d
Upgrade to netcoreapp2.2
...
This reverts commit fe9da3c57b .
2018-05-09 16:43:15 -07:00
Ryan Brandenburg
fe9da3c57b
Revert "Don't touch product repos"
...
This reverts commit 8e9f05b902 .
2018-05-08 16:52:48 -07:00
Ryan Brandenburg
350310aa96
Handle netcoreapp cases
2018-05-08 15:38:20 -07:00
Ryan Brandenburg
7db465dfc2
Upgrade to netcoreapp22
2018-05-08 15:38:20 -07:00
Stephen Halter
c8d374af64
Merge branch 'release/2.1' into dev
...
# Conflicts:
# build/dependencies.props
# korebuild-lock.txt
# src/Kestrel.Transport.Libuv/Internal/LibuvConnectionContext.cs
2018-05-07 15:47:20 -07:00
Stephen Halter
1a313715c8
Merge fixup
2018-05-07 15:00:57 -07:00
Nate McMaster
05d68efbae
Merge branch 'release/2.1.0-rc1' into release/2.1
2018-05-07 14:35:41 -07:00
Stephen Halter
5c17bff55d
Don't throw on FIN from upgraded connections ( #2533 )
...
* Allow app to drain request buffer after FIN
2018-05-04 16:21:07 -07:00
Stephen Halter
8b1fbad10e
Don't complete KestrelServer.StopAsync task inline ( #2534 )
2018-05-03 17:01:36 -07:00
Chris Ross (ASP.NET)
b85ab0a7d2
Fix Sending100ContinueDoesNotStartResponse #2507
2018-05-02 09:29:36 -07:00
Chris Ross (ASP.NET)
9798508108
Merge branch 'release/2.1' into dev
2018-05-02 09:22:19 -07:00
Chris Ross (ASP.NET)
74d19cd4e4
Remove netcoreapp2.0 test coverage
2018-05-02 08:54:57 -07:00
David Fowler
b23d9b7679
Decouple connection objects from the server ( #2535 )
...
- Making progress towards being able to use the connection objects on the client side.
2018-05-01 12:01:24 -07:00
Pavel Krymets
de98f8c962
Use TaskCreationOptions.RunContinuationsAsynchronously a lot
2018-04-30 12:56:55 -07:00
Pavel Krymets
2f2a0047a1
React to pool cleanup ( #2526 )
2018-04-30 08:37:15 -07:00
Mike Harder
cc29a503e6
Revert "Enable xUnit diagnostic messages ( #2505 )" ( #2522 )
...
- xUnit diagnostic messages were enabled in #2505 to help identify hung tests
- However, this also enables log messages for non-serializable theory data (https://github.com/aspnet/KestrelHttpServer/issues/2509 ), which adds noise to logs
- It doesn't seem possible to disable the "non-serializable data" messages but keep the "long-running test" messages
- Converting all tests to serializable theory data is expensive and complicates test code
- The best solution for now is to revert xUnit diagnostic messages to disabled, and re-enable when needed to identify hung tests
2018-04-24 17:24:43 -07:00
Mike Harder
cc38a8d1fa
Remove unused theory data ( #2519 )
2018-04-24 14:47:39 -07:00
Chris Ross (ASP.NET)
075453b180
Fix Sending100ContinueDoesNotStartResponse #2507
2018-04-24 09:07:20 -07:00
Stephen Halter
b0e1fa5e30
Fix connection abort
2018-04-23 17:01:49 -07:00
John Luo
1655a8fd6d
Disable writing to console if exceptions are expected
2018-04-23 14:48:15 -07:00
Mike Harder
f3afbeb2ae
Enable xUnit diagnostic messages ( #2505 )
...
- Required to log long-running tests
- Will help investigate https://github.com/aspnet/KestrelHttpServer/issues/2503
2018-04-18 17:14:52 -07:00
Chris Ross (ASP.NET)
333586d735
Clean up flaky MaxRequestBufferSize tests #2225
2018-04-17 09:11:17 -07:00
Stephen Halter
6fd09af374
Improve logging of request drain timeout ( #2480 )
2018-04-16 11:53:10 -07:00
Ben Adams
e30a02cee5
Less StringValue struct copies for header checks ( #2488 )
2018-04-13 18:21:50 -07:00
John Luo
2d51d23697
Add file logging to functional tests
2018-04-13 14:53:57 -07:00
Stephen Halter
10f3b6863e
Avoid nullref in KestrelEventSource ( #2483 )
...
* Avoid nullref in KestrelEventSource
* Improve HostNameIsReachableAttribute to speed up test discovery
2018-04-12 17:29:34 -07:00
Chris Ross (ASP.NET)
ee12c4fcf2
Downgrade HTTPs handshake failures to debug #1853
2018-04-12 09:25:44 -07:00
Chris Ross (ASP.NET)
c6fa9793eb
Make Protocols internal
2018-04-12 08:53:27 -07:00
David Fowler
f6b2880369
Flow the ConnectionContext to the SNI callback ( #2478 )
2018-04-11 15:56:25 -07:00
Ryan Brandenburg
7e5104573e
Skip flaky tests
2018-04-10 10:44:18 -07:00
Chris Ross (ASP.NET)
2ee0d6e337
Delay loading the dev cert #2422
2018-04-04 14:54:27 -07:00
Chris Ross (ASP.NET)
953496a970
Merge branch 'release/2.1' into dev
2018-04-04 13:44:56 -07:00
Chris Ross (ASP.NET)
9ea2c50068
Add SNI support #2357
2018-04-04 12:49:29 -07:00
Stephen Halter
a92da1b8f4
Fix CopyToAsyncDoesNotCopyBlocks test ( #2458 )
2018-04-02 18:42:02 -07:00
David Fowler
a37fa83aee
Fixed a parser bug found when trying out the array pool ( #2450 )
...
- When using the array pool, we get terrible block density and as a result
the header parser was failing.
- This fixes the case where the parser needed to skip 2 blocks at the end
(which is unrealistic). Comparing the current index to the reader index is incorrect
since we may end up at the same index in another segment.
2018-04-01 00:04:02 -07:00
David Fowler
7382198356
Copy connection middleware when using ListenLocalHost ( #2447 )
...
- Connection middleware got removed during Clone when using ListenLocalhost
2018-03-31 07:29:35 -07:00
Pavel Krymets
7b3491e11e
Prepare to 0 byte flush change ( #2442 )
2018-03-29 20:27:54 -07:00
Ryan Brandenburg
cc8c140cca
Skip flaky test
2018-03-29 08:48:40 -07:00
Stephen Halter
a1de323ff4
Make LibuvTransport(Factory) pubternal ( #2426 )
2018-03-26 11:39:51 -07:00
Stephen Halter
408700698c
React to aspnet/BuildTools#611 ( #2409 )
2018-03-23 12:49:16 -07:00
David Fowler
abdcb47b8f
Renames from API review ( #2413 )
...
* Renames from API review
- Rename Microsoft.AspNetCore.Protocols.Abstractions to Microsoft.AspNetCore.Connections.Abstractions.
- Renamed IConnectionHandler to IConnectionDispatcher (and related properties and types)
- Added ConnectionHandler and UseConnectionHandler extension method to Connections.Abstractions.
- Use ActivatorUtilties to create the ConnectionHandler
2018-03-22 21:38:14 -07:00
Stephen Halter
9901f0f3e4
Default to the managed socket transport ( #2392 )
2018-03-14 11:50:10 -07:00
David Fowler
572627e88c
Handle posting to the libuv thread after StopAsync ( #2388 )
...
- Check if the post handle is disposed and noop if it is.
We also catch an ObjectDisposedException because it's an inherent race condition.
2018-03-13 19:37:39 -07:00
Chris Ross (ASP.NET)
bfdb48717f
Host header format validation
2018-03-13 16:37:03 -07:00
David Fowler
2d8f3d95fe
Feature/clean up proto abstractions ( #2383 )
...
- This change aims to clean up the feature interfaces
used by kestrel and exposed by protocol absractions. It splits out the
IConnectionTransportFeature into smaller features that may or may
not be implemented on the connection.
- Added all of the features from Socket.Abstractions
in an attempt to make it go away completely. As a result
the helper methods and extensions have all been added here.
- Change IConnectionHandler to take TransportConnection. This cleans up the interface and makes it more explicit what features are required by Kestrel
2018-03-13 10:27:04 -07:00
David Fowler
fa3229b489
Revert "Clean up protocol abstractions ( #2381 )" ( #2382 )
...
This reverts commit ddd0b4c260 .
2018-03-13 02:04:42 -07:00
David Fowler
ddd0b4c260
Clean up protocol abstractions ( #2381 )
...
- This change aims to clean up the feature interfaces
used by kestrel and exposed by protocol absractions. It splits out the
IConnectionTransportFeature into smaller features that may or may
not be implemented on the connection.
- Added all of the features from Socket.Abstractions
in an attempt to make it go away completely. As a result
the helper methods and extensions have all been added here.
- Change IConnectionHandler to take TransportConnection. This cleans up the interface and makes it more explicit what features are required by Kestrel
2018-03-13 01:43:49 -07:00
David Fowler
e7d3b0c5f9
Remove KestrelThreadPool abstraction and replaced it with PipeScheduler ( #2371 )
2018-03-12 14:49:19 -07:00
Pavel Krymets
f52771d0e9
Fix MicrosoftExtensionsBuffersTestingSources package version variable
2018-03-08 15:24:20 -08:00
Pavel Krymets
fc80c15a65
Update to new corefx ( #2369 )
2018-03-08 14:23:07 -08:00
David Fowler
c88f949c39
Be explicit about PipeScheduler.Inline ( #2367 )
2018-03-06 09:58:14 -08:00
Stephen Halter
b86df651af
Fix Http2ConnectionTests flakiness ( #2364 )
...
- The default PipeScheduler got switched from Inline to ThreadPool.
- This switches the Http2ConnectionTests PipeSchedulers back to ThreadPool.
2018-03-05 16:28:35 -08:00
Pavel Krymets
2c108d9ba1
React to pipes in corefx ( #2337 )
2018-02-28 12:41:51 -08:00
Justin Wyer
83bf2375b3
#2035 Do not await OnCompleted handlers before sending the Response ( #2324 )
2018-02-25 18:10:04 -07:00
Stephen Halter
06945ba81e
Include exceptions when displaying test logs ( #2346 )
2018-02-24 16:51:57 -08:00
Stephen Halter
0134e56909
Include exceptions when displaying test logs ( #2344 )
2018-02-23 22:22:00 -08:00
Ben Adams
de7e2a2573
Use enum for method rather than string compares ( #2294 )
2018-02-23 14:29:42 -08:00
Nikita Tsukanov
39951e892e
Don't throw in HttpRequestStream.Flush ( #2342 )
...
Because read-only streams apparently can have Flush semantics and this behavior is expected by some of built-in stream wrappers (e. g. CryptoStream)
https://github.com/dotnet/corefx/pull/27327#pullrequestreview-98384813
https://github.com/aspnet/KestrelHttpServer/issues/2341
2018-02-23 09:51:09 -08:00
Ben Adams
c57784447e
Speed up TryGetAsciiString ( #1973 )
...
* Widen
* Remove TryGetAsciiStringVectorCheckShifts
* Add Span version to benchmarks
2018-02-22 16:45:31 -08:00
Ben Adams
c0f88ebdc1
Faster IFeatureCollection.Get<TFeature> ( #2290 )
2018-02-22 16:44:38 -08:00
Pavel Krymets
d996f6b7fc
Drop Pipelines.Testing dependency that we don't use ( #2343 )
2018-02-22 10:27:47 -08: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
David Fowler
da6325251e
Revert "Remove check for above debug logs"
...
This reverts commit 38a4560e1c .
2018-02-17 09:40:42 -08:00
David Fowler
38a4560e1c
Remove check for above debug logs
2018-02-17 09:39:59 -08:00
Mike Harder
07026cf6db
Re-enable test ParseRequestLineSplitBufferWithoutNewLineDoesNotUpdateConsumed ( #2328 )
...
- Addresses #2243
2018-02-16 17:11:27 -08:00
Mike Harder
4afaa386db
Remove unnecessary usings ( #2326 )
2018-02-16 14:04:16 -08:00
Alessio Franceschelli
14332c5daf
Allows Content-Length for 304 Not Modified response ( #2321 )
2018-02-14 16:01:07 -08:00
Alessio Franceschelli
9341f72b8d
Consumes request before closing connection ( #2314 )
2018-02-14 11:46:13 -08:00
David Fowler
2156030460
Clean up some of protocol abstractions ( #2311 )
...
* Clean up some of protocol abstractions
- Renamed PipeConnection to DuplexPipe
- Removed MemoryPool from ConnectionContext
- Work around value tuple issue on net471
2018-02-10 10:39:21 -08:00
Joshua Clark
5dd590e75e
Add clearer exception message to HttpResponseStream ODE ( #2305 )
2018-02-08 17:28:00 -08:00
Ryan Brandenburg
93b10d9060
Shorten logger to prevent longpath
2018-02-02 16:03:01 -08:00
Ryan Brandenburg
9c2158fd37
Skip flaky test
2018-01-31 14:23:14 -08:00
Pavel Krymets
261b5836c1
Merge release/2.1
2018-01-30 09:39:33 -08:00
Pavel Krymets
a84095e5c3
React to pipelines changes ( #2275 )
2018-01-29 14:34:48 -08:00
Stephen Halter
30a68dec49
Fix flakiness in address-in-use test ( #2267 )
...
* Increase test timeouts
* Use constant for default test timeout.
2018-01-24 17:42:49 -08:00
Chris Ross
a57bc4b3bb
Merge pull request #2272 from aspnet/release/2.1
...
Mark HTTP/2 as not supported with an AppContext switch override.
2018-01-24 15:34:57 -08:00
Chris Ross (ASP.NET)
4fd4fd9f41
Mark HTTP/2 as not supported with an AppContext switch override.
2018-01-24 15:29:59 -08:00
Ryan Brandenburg
1c0cf15b11
Add messages to Asserts ( #2259 )
2018-01-23 16:25:03 -08:00
Stephen Halter
ee1c5c440c
Fix HeartbeatTests flakiness ( #2268 )
2018-01-23 10:58:22 -08:00
Stephen Halter
526dfdb332
Switch back to libuv as the default transport ( #2257 )
...
* Switch back to libuv as the default transport
2018-01-18 17:25:28 -08:00
Stephen Halter
040ea2e6b4
Fix MockLibuv.OnPostTask ( #2260 )
...
Prevents UvWriteReq leaks in LibuvOutputConsumerTests
2018-01-18 15:53:46 -08:00
Stephen Halter
cf371a4e74
Disable heartbeat warning when debugger is attached ( #2258 )
2018-01-16 18:11:11 -08:00
Stephen Halter
f4d27e67bb
Improve server shutdown logic ( #2247 )
...
Ensure connections abort when they don't close gracefully.
2018-01-16 16:43:45 -08:00
Javier Calvarro Nelson
e6bb551018
Adds support for loading the developer certificate from a pfx file
...
* If we can't find a developer certificate on the certificate store
we will look for a developer certificate on the file system if a
password has been specified for the Development certificate.
* We will look at ${APPDATA}/ASP.NET/https/<<AppName>>.pfx for windows
and fallback to ${HOME}/.aspnet/https/<<AppName>>.pfx
* In case the password wasn't specified through configuration, the file
is not found on the file system or can't be loaded, we won't
do anything.
2018-01-12 16:32:06 -08:00
Chris Ross (ASP.NET)
420500e2a9
#2102 Always start the response before draining the request.
2018-01-09 15:59:19 -08:00
Steffen Forkmann
9a8dd6ef12
Allow Content-Length 0 for Websocket-Connection ( #2217 )
2018-01-09 15:01:09 -08:00
Pavel Krymets
1fa001e7db
React to pipeline changes ( #2234 )
...
React to pipeline changes
2018-01-04 09:54:42 -08:00
Chris Ross (ASP.NET)
dfaf37cbba
Implement config support #1290 #1879 #2016 #2166 #2167 #2188
2017-12-21 09:12:32 -08:00
Chris Ross (ASP.NET)
d505d20ba7
Merge Kestrel.Https into Kestrel.Core. Fix sample.
2017-12-18 14:08:14 -08:00
Stephen Halter
9f02935074
Call Listen after Bind in tests ( #2221 )
2017-12-15 12:45:32 -08:00
BrennanConroy
95dc8824c3
Upgrade package references and react to corefx API changes ( #2212 )
2017-12-11 09:02:37 -08:00
Stephen Halter
668f8e3b4b
Lazily allocate protocol-specific connection objects ( #2190 )
...
* Refactor Http[12]?Connection
2017-12-04 15:59:12 -08:00
David Fowler
b8a1c04ffb
Make the HttpParser a singleton ( #2203 )
...
- It's completely stateless so make it a singleton
- Fixed tests
2017-12-03 13:27:36 -08:00
Tornhoof
5e9e3a8574
Make sure to add whitespace after the status code even if the reasonphrase is empty ( #2184 )
2017-11-29 12:30:27 -08:00
Pranav K
76de77746d
Eclipse CoreFx package versions to prevent package downgrade warnings
2017-11-22 19:02:22 -08:00
Chris Ross
8e1da5d1f6
Expose WebHostBuilderContext in UseKestrel #1334 ( #2177 )
2017-11-22 10:19:17 -08:00
Chris Ross (ASP.NET)
89d1862f21
#2139 Add ListenLocalhost and ListenAnyIP
2017-11-16 16:14:17 -08:00
Pranav K
186e9806cd
Update samples and tests to target netcoreapp2.1
2017-11-16 14:43:15 -08:00
JanEggers
5b6db93383
fixed minor copy and paste error in mockconnection handler ( #2163 )
2017-11-15 11:30:35 -08:00
Pavel Krymets
73a37363e1
Migrate to new pipe APIs ( #2124 )
2017-11-13 15:04:54 -08:00
Stephen Halter
53b4697269
Show cause of connection failure in test ( #2155 )
2017-11-09 16:56:08 -08:00
Nate McMaster
7d712f58aa
Put Libuv.FunctionalTests into a separate test group
2017-11-08 14:01:23 -08:00
Nate McMaster
6c82f78c65
Pin tool and package versions to make builds more repeatable
...
Part of aspnet/Universe#575
2017-11-01 15:18:49 -07:00
Cesar Blum Silveira
8c4bdbcf6b
Add "zero config" HTTPS support using local development certificate. ( #2093 )
2017-10-25 13:59:09 -07:00
Andrew Stanton-Nurse
1678c54291
Add some tracing and increase timeout for flaky test ( #2130 )
2017-10-25 11:56:43 -07:00
Andrew Stanton-Nurse
7d205d1093
add event names to Logging messages ( #2132 )
2017-10-25 11:27:05 -07:00
Cesar Blum Silveira
3fbfba63f8
HTTP/2: implement 100-continue ( #2106 )
2017-10-18 16:31:50 -07:00
Cesar Blum Silveira
d4f263acce
Fix typos in project names.
2017-10-16 14:13:05 -07:00
Cesar Blum Silveira
9dfffd14bb
HTTP/2: support trailers.
2017-10-12 17:26:20 -07:00
Stephen Halter
66a3c9496a
Set SO_REUSEADDR on managed listen sockets on Unix ( #2111 )
...
- https://github.com/dotnet/corefx/issues/24562
2017-10-12 12:26:52 -07:00
Cesar Blum Silveira
deed6c9780
HTTP/2: add exception error messages and log them.
2017-10-12 11:23:57 -07:00
Stephen Halter
fdb4184dbf
Sockets transport ( #2100 )
...
* Make Sockets the default transport
* Create separate Libuv and Sockets functional test projects
* Fix functional tests that fail with Sockets
* Moved OneToTenThreads test to Kestrel.Transport.Libuv.Tests
* Fix systemd activation tests to use libuv transport
* Dispose Sockets PipeFactory
* Improve Socket's server-side abort handling
* Add explicit rebinding test
2017-10-11 15:14:35 -07:00
Cesar Blum Silveira
d46d2ce193
HTTP/2: validate request headers prior to starting new stream.
2017-10-10 13:12:34 -07:00
Nate McMaster
e2c22b91af
Minor test code changes to resolve xUnit2013 build warning
2017-10-06 08:50:58 -07:00
Cesar Blum Silveira
11ce1395e5
HPACK fixes and improvements.
2017-10-04 12:59:41 -07:00
Stephen Halter
83e2084368
Fix flaky MaxRequestBodySizeTest ( #2092 )
...
- Don't attempt to send any data after the request might already be rejected.
2017-10-03 14:34:14 -07: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
bb9840a552
HTTP/2: do not ACK PING frames received with ACK set.
2017-09-29 16:40:01 -07:00
Cesar Blum Silveira
551c1ebc0b
Configure enabled protocols per endpoint and add HTTP/2 w/ prior knowledge support ( #2067 ).
2017-09-27 10:14:39 -07:00
Cesar Blum Silveira
343ce0f01b
HTTP/2: close connection with PROTOCOL_ERROR when a stream depends on itself.
2017-09-22 16:35:12 -07:00
Cesar Blum Silveira
e3533885a8
HTTP/2: close connection with PROTOCOL_ERROR when receiving a frame with an even stream ID.
2017-09-21 12:26:09 -07:00
Cesar Blum Silveira
a4887f4caf
HTTP/2: close connection with PROTOCOL_ERROR when receiving GOAWAY frame with non-zero stream ID.
2017-09-21 11:57:31 -07:00
Cesar Blum Silveira
fc56552b2a
HTTP/2: close connection on PING frame with non-zero stream ID.
2017-09-21 11:23:15 -07:00
Cesar Blum Silveira
555a881cb7
HTTP/2: close connection with PROTOCOL_ERROR when an unknown frame type is interleaved with headers.
2017-09-21 11:20:52 -07:00
Cesar Blum Silveira
e2af346733
HTTP/2: close the connection with PROTOCOL_ERROR when a PUSH_PROMISE frame is received.
2017-09-21 11:20:33 -07:00
Cesar Blum Silveira
9944c0fd43
Fix reading DATA frames with maximum length.
2017-09-20 11:15:31 -07:00
Cesar Blum Silveira
91eb4cd54c
Fix flakiness in KeepAliveTimeoutTests.ConnectionKeptAliveBetweenRequests ( #1684 ).
2017-09-18 15:12:13 -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
Cesar Blum Silveira
d28b413390
Add tracing to KeepAliveTimeoutTests.ConnectionKeptAliveBetweenRequests to investigate test failures.
2017-09-14 16:55:44 -07:00
Cesar Blum Silveira
da7bc24eec
Add request parsing regression tests.
2017-09-13 14:49:45 -07:00
Stephen Halter
1e465e9643
Improve timeout logic
2017-09-08 12:50:01 -07:00
Cesar Blum Silveira
66d8e8198d
Re-enable TestKeepAliveTimeout.
2017-09-07 17:24:33 -07:00
Stephen Halter
284367db9f
Improve ConnectionLimitMiddleware and connection pipeline building ( #2010 )
...
* Improve ConnectionLimitMiddleware and connection pipeline building
* Add IDecrementConcurrentConnectionCountFeature
* Flow connection features from connection middleware
2017-08-30 11:30:20 -07:00
Damir Ainullin
5bf7d3b28a
Fix typo in FrameTests ( #2033 )
2017-08-27 20:11:00 -07:00
David Fowler
7854c0604a
Remove the events on ConnectionContext ( #2023 )
...
- Use the pipe events and removed the Tasks from ConnectionContext
- Remove OnConnectionClosed from FrameConnection. Since the `FrameConnetion` is a single middleware, not the entire pipeline, we shouldn't need to wait on the connection close there.
- It seems like the callbacks are rooted on the pipe even after they fire. This needs to be investigated in pipelines.
2017-08-26 20:19:55 -07:00