Stephen Halter
bf24899592
Auto-set "Content-Length: 0" on 205 responses ( #7205 )
2019-02-05 13:45:08 -08:00
David Fowler
9f202feafc
Rename IHttpContextContainer to IDefaultHttpContextContainer ( #7217 )
...
- Renamed since the property has to be a DefaultHttpContext
2019-02-02 22:31:49 -08:00
Gérald Barré
f1b24ccb92
Replace unsafe code with string.Create for hex generation ( #6784 )
2019-02-01 10:06:20 -08:00
James Newton-King
574be0d22c
Add readonly modifier to readonly structs ( #7169 )
2019-02-01 15:04:25 +13:00
Stephen Halter
4539b0d2c3
Increase shutdown timeout in Kestrel TestServer ( #7082 )
...
* Never use a null abort reason
2019-01-29 16:13:37 -08:00
Justin Kotalik
1222d8de49
Add StartAsync() to HttpResponse; ImplementFeature in Kestrel ( #6967 )
2019-01-28 17:42:04 -08:00
Pavel Krymets
f06e1822f5
Enable strict mode in roslyn compiler ( #6950 )
2019-01-28 15:56:27 -08:00
David Fowler
447f4bc298
Reuse the stack for OnCompleted and OnStarting calls ( #6833 )
...
- Reviewing profiles for MVC and other things that use RegisterForDispose, this shows up as a significant amount of allocations.
2019-01-28 20:37:11 +00:00
David Fowler
549f8e1773
Remove over engineered callback writing and just write chunks directly. ( #6901 )
2019-01-28 20:36:47 +00:00
Nate McMaster
5a0e227fad
Merge branch 'release/2.2'
2019-01-24 16:14:55 -08:00
Stephen Halter
2853b451a2
Add RequestAbortedTokenIsUsableAfterCancellation test
2019-01-24 12:38:16 -08:00
Stephen Halter
5d554aeecd
Revert "Wait to dispose RequestAborted CTS ( #4447 )"
...
This reverts commit 0622513058 .
2019-01-24 11:23:58 -08:00
Chris Ross
24f37a9619
[automated] Merge branch 'release/2.2' => 'master'
2019-01-23 11:40:55 -08:00
Chris Ross
f4c5ac7635
Move Kestrel.Core.Tests to their own test group ( #6927 )
2019-01-22 12:41:12 -08:00
Stephen Halter
7d4ae6049f
Revert "Revert "Wait to dispose RequestAborted CTS ( #4447 )"" ( #6812 )
...
This reverts commit 29b7c5c030 .
2019-01-17 16:22:03 -08:00
Stephen Halter
0622513058
Wait to dispose RequestAborted CTS ( #4447 )
2019-01-15 14:54:10 -08:00
Justin Kotalik
cdd38d70cf
Implement Stream Adapters (and minor nitpics) ( #6583 )
2019-01-15 09:00:06 -08:00
David Fowler
3f1760c52b
Reduce copies for WebSocket reads ( #6656 )
...
- Change the upgrade message body to use the transport pipe instead of the request body pipe.
- Remove some logic from the base type (more can be removed but this is a conservative change)
- Improve performance of the ReadAsync call
2019-01-14 14:14:02 -08:00
Ben Adams
b27739ad3f
Shrink ParseRequestLine inner loop ( #6594 )
2019-01-11 20:34:30 -08:00
Ben Adams
31c8423df1
Devirtualize HttpHeaders.Reset ( #5950 )
...
* Use Inlining to devirtualize
2019-01-10 20:34:41 -08:00
Ben Adams
ad11f890ef
Resolve input/output via IDuplexPipe interface once ( #6371 )
2019-01-09 21:25:22 -08:00
David Fowler
ea344bf726
Don't allocate the FormFeature eagerly ( #6511 )
...
- Expose FormOptions on DefaultHttpContext
- Use those options on DefaultHttpContext when the FormFeature is initialized
2019-01-09 14:44:41 -08:00
David Fowler
a11c68ae35
Remove all extensibility from the DefaultHttpContext ( #6504 )
...
- Seal all of the classes
- Remove virtual methods
- Delete pooled HttpContext code
- Removed obsolete AuthenticationManager
2019-01-09 11:37:06 -08:00
David Fowler
688ad19170
Reuse HttpContext object per HTTP/1 connection and HTTP/2 stream ( #6424 )
...
- Today in Kestrel, we reuse the IFeatureCollection per connection and per Http2Stream. This PR aims to take advantage of that same technique and affinitize the HttpContext and friends so that they are only allocated per connection.
- ReusableHttpContext and friends mimic the functionality of DefaultHttpContext but is sealed and has no overridable methods.
- Introduce IHttpContextContainer which allows servers to cache the HttpContext and friends across requests.
2019-01-08 16:54:46 -08:00
David Fowler
c61639b4a4
Reduce HTTP/2 allocations ( #6119 )
...
- Remove per request allocations on the thread pool by implementing IThreadPoolWorkItem on Http2Stream
- Made generic version of Http2Stream to store the IHttpApplication instead of using a tuple
- Removed passing of IHttpApplication<TContext> everywhere
2019-01-04 08:33:57 -08:00
Stephen Halter
b1f778bfb8
[Kestrel] Allow HTTP/2 stream drain timeout during trailers ( #4070 )
...
- Move all HTTP/2 stream state management into request parsing loop
2019-01-03 15:03:00 -08:00
David Fowler
4816bdcaad
Replace .Wait with await ( #6191 )
2018-12-30 11:19:05 -04:00
David Fowler
b12c33dbc3
Replace ManualResetEvents with a TCS ( #6173 )
...
* Added TaskCreationOptions.RunContinuationsAsynchronously in a few places
2018-12-29 08:24:57 -04:00
Ben Adams
8be8e0008d
Avoid boxing context.Method ( #5687 )
2018-12-27 09:07:44 -08:00
Ben Adams
cb1917aa59
Don't allocate in BeginChunkBytes ( #5688 )
2018-12-26 18:00:39 -08:00
Ben Adams
b87ac1d652
Use PopCount intrinsic ( #5715 )
2018-12-26 10:03:36 -08:00
Ben Adams
5a64688d8e
Make some ThrowHelpers static ( #5951 )
2018-12-24 16:53:07 -08:00
Ben Adams
ef341c610f
Use ref extensions as ref extensions ( #6058 )
2018-12-21 12:11:32 -08:00
Nate McMaster
02780bac26
Merge branch 'release/2.2'
2018-12-14 16:03:16 -08:00
Nate McMaster
feb641ddda
Merge branch 'release/2.1' into release/2.2
2018-12-14 09:44:15 -08:00
Nate McMaster
13ae0057fb
Replace .Sources package references with local code ( #4801 )
...
Replaces package references the following packages with local code:
Microsoft.AspNetCore.Certificates.Generation.Sources
Microsoft.Extensions.CopyOnWriteDictionary.Sources
Microsoft.Extensions.ClosedGenericMatcher.Sources
Microsoft.Extensions.ObjectMethodExecutor.Sources
Microsoft.Extensions.PropertyActivator.Sources
Microsoft.Extensions.PropertyHelper.Sources
Microsoft.Extensions.RazorViews.Sources
Microsoft.Extensions.SecurityHelper.Sources
Microsoft.Extensions.StackTrace.Sources
Microsoft.Extensions.WebEncoders.Sources
2018-12-14 08:36:36 -08:00
Ben Adams
b2731d652d
.IndexOf(...) >= 0 to .Contains(...) ( #4688 )
2018-12-14 12:40:09 +13:00
Chris Ross
6d442c1e3d
Upgrade Kestrel to target netcoreapp3.0 #3754 ( #4405 )
2018-12-12 08:16:00 -08:00
Nate McMaster
c612eb8730
Merge branch 'release/2.2'
2018-12-07 14:50:17 -08:00
Nate McMaster
5017afa0ad
Merge branch 'release/2.1' to release/2.2
2018-12-07 12:45:42 -08:00
Nate McMaster
df3e4b98a2
Backport infrastructure cleanup to share sources and project references ( #4513 )
2018-12-07 12:20:13 -08:00
Chris R
2b8c3db3b0
Remove obsolete ServerAddress type Kestrel/#2988
2018-11-30 14:28:52 -08:00
Stephen Halter
dabf5d8ba9
[2.1] [Kestrel] Move AddressRegistrationTests to own TestGroup
2018-11-26 18:28:23 -08:00
Stephen Halter
6a3d0fc1da
[Kestrel] Re-enable trace-level test logging ( #4075 )
2018-11-26 16:20:43 -08:00
Nate McMaster
0af21077c3
Update .NET Core 3.0 dependencies ( #4091 )
...
* Update Extensions to 3.0.0-preview.18569.14
* Update EFCore to 3.0.0-preview.18569.2
* Update corefx to preview.18566.8
* Update core-setup to preview-27117-01
2018-11-20 10:37:13 -08:00
Stephen Halter
7e9b11ef3f
Add test and src folders to Kestrel.sln ( #4039 )
...
- Move ThrowHelper.cs into core project
2018-11-15 16:24:31 -08:00
Nate McMaster
68cc5e7846
Merge release/2.2 and aspnet/KestrelHttpServer
...
* Merges latest changes from the master branch of aspnet/KestrelHttpServer
* Merges changes on release/2.2
2018-11-15 08:41:55 -08:00
Nate McMaster
3a657c6fdf
Reorganize source code in preparation to move into aspnet/AspNetCore
...
Prior to reorganization, this source code was found in 5d80016b4f
2018-11-14 23:23:58 -08:00
Nate McMaster
0271428dbe
Merge aspnet/KestrelHttpServer release/2.2 and release/2.1
2018-11-14 21:33:33 -08:00
Nate McMaster
ad84a1cc71
Merge branch 'release/2.1' into release/2.2
2018-11-14 16:28:38 -08:00