Commit Graph

99 Commits

Author SHA1 Message Date
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 f70088c2d9
Don't block so many threads in HeartbeatTests (#2610) 2018-05-23 15:58:33 -07:00
Stephen Halter a9d6cf13eb
Consistently handle connection resets (#2547) 2018-05-22 16:38:21 -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
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
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) 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
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 cc38a8d1fa
Remove unused theory data (#2519) 2018-04-24 14:47:39 -07:00
Stephen Halter b0e1fa5e30 Fix connection abort 2018-04-23 17:01:49 -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
Chris Ross (ASP.NET) c6fa9793eb Make Protocols internal 2018-04-12 08:53:27 -07:00
Chris Ross (ASP.NET) 2ee0d6e337 Delay loading the dev cert #2422 2018-04-04 14:54:27 -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
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
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
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
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 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
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