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
Ryan Brandenburg
7c2c5f2bef
EnableApiCheck for Kestrel.Https ( #2198 )
2017-11-30 18:36:35 -08:00
Pranav K
f121d9c688
Split out version specification from ExternalDependency initialization
2017-11-30 16:31:55 -08:00
Nate McMaster
6f096a18af
Import dependencies.props when building the metapackage
2017-11-29 13:02:37 -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
Nate McMaster
98de3aa50d
Suppress API check due to reflection load errors ( #2185 )
...
[ci skip]
2017-11-28 11:04:08 -08:00
David Fowler
ce68427050
Use ALPN support in SSLStream on .NET Core >= 2.1 ( #2179 )
...
- Always add the TlsConnectionFeature when the HttpsConnectionAdapter runs
- Implemented the ITlsApplicationProtocolsFeature on the existing TlsConnectionFeature
- Removed Kestrel.Tls
2017-11-27 09:11:39 -08:00
Chris Ross
8e1da5d1f6
Expose WebHostBuilderContext in UseKestrel #1334 ( #2177 )
2017-11-22 10:19:17 -08:00
Pranav K
db8adaf5b7
Remove uses of aspnetcore-ci-dev
2017-11-22 09:28:47 -08:00
David Fowler
a1d75df47d
Use new Memory<byte> APIs on SocketAsyncEventArgs ( #2173 )
...
- This should improve the performance of handling buffers by (eventually)
removing GCHandle churn for Kestrel's already pinned buffers.
- Made the Sockets transport target both netcoreapp2.1 and netstandard2.0 to use new
APIs
- Disable API check for the sockets transport
2017-11-20 11:36:09 -08:00
Stephen Halter
67fc879c54
Null out send buffer less ( #2164 )
2017-11-17 12:41:35 -08:00
Chris Ross (ASP.NET)
89d1862f21
#2139 Add ListenLocalhost and ListenAnyIP
2017-11-16 16:14:17 -08:00
Justin Kotalik
85ea220c4e
Fixes dotnet.exe string as runtime now reads it ( #246 )
2017-11-16 15:05:32 -08:00
pan-wang
9e345ad43f
fix build issue ( #248 )
2017-11-15 21:59:54 -08:00
Javier Calvarro Nelson
6c4427cde5
Added a package for generating HTTPS Certificates on CLI first run scenarios
2017-11-15 18:20:17 -08:00
Andrew Stanton-Nurse
065e9bb57a
Update "temporary" OpenSSL wrapper to support 1.1, and add HTTP/2 sample with docker ( #2149 )
2017-11-13 15:54:16 -08:00
Pavel Krymets
b8c3d26975
Migrate to new pipe APIs ( #454 )
2017-11-13 15:06:22 -08:00
Pavel Krymets
73a37363e1
Migrate to new pipe APIs ( #2124 )
2017-11-13 15:04:54 -08:00
Javier Calvarro Nelson
eac0e2d03b
Add support for detecting when the user cancels the trust prompt and a mode to check for the validity and trust of existing certificates
2017-11-13 10:28:46 -08:00
Justin Kotalik
82e096c9a5
Adds windows auth support ( #241 )
2017-11-10 17:07:56 -08:00
Justin Kotalik
552163ab77
Adds windows Auth support ( #471 )
2017-11-10 17:02:31 -08:00
Nate McMaster
dae1f1ce78
Merge branch 'rel/2.0.3' into dev
2017-11-08 16:31:07 -08:00
Andrew Stanton-Nurse
89fa8f0fa2
Revert "Open ssl pfx ( #2150 )"
...
This reverts commit 41abe63c10 .
2017-11-07 15:48:49 -08:00
Tim Seaward
41abe63c10
Open ssl pfx ( #2150 )
2017-11-07 14:49:02 -08:00
Stephen Halter
238da2742d
Use SocketAsyncEventArgs to improve perf ( #2147 )
2017-11-07 14:43:14 -08:00
arerlend
70c8133fce
allow paths that contain '.' ( #125 )
...
* allow paths that contain '.'
* remove InvalidPathWithDotShouldThrowException test
2017-11-07 11:24:52 -08:00
Justin Kotalik
9c065bf107
Remove header serialization in favor of setting IIS response directly. ( #465 )
2017-11-06 20:28:40 -08:00
Justin Kotalik
6bfcd4a2d4
Remove header serialization in favor of setting IIS response directly. ( #228 )
2017-11-06 20:28:08 -08:00
George Chakhidze
c315b27ad9
Fix the uninitialized g_hWinHttpModule global variable to avoid empty error messages ( #225 )
2017-11-06 10:16:08 -08:00
David Fowler
08186bb198
Use ipv4 when binding to ANCM port ( #470 )
...
- Today we use localhost which binds to both the ipv4 and ipv6 addresses.
ANCM never communicates over ipv6 so it's pointless. This should also properly crash
the process if the ipv4 address fails to bind (which we've seen reports in real applications for).
2017-11-03 10:24:41 -07:00
Nate McMaster
5bbab01ba5
Pin tool and package versions to make builds more repeatable
...
Part of aspnet/Universe#575
2017-11-01 16:52:00 -07:00
Justin Kotalik
a42c8a33b8
Return FINISH_REQUEST on request failure ( #469 )
2017-11-01 15:48:04 -07: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
Nate McMaster
478c640a68
Pin tool and package versions to make builds more repeatable
...
Part of aspnet/Universe#575
2017-11-01 15:11:36 -07:00
Nate McMaster
bcc10d3012
Pin tool and package versions to make builds more repeatable
...
Part of aspnet/Universe#575
2017-11-01 14:59:02 -07:00
Nate McMaster
d687617a35
Pin tool and package versions to make builds more repeatable
...
Part of aspnet/Universe#575
2017-11-01 09:29:41 -07:00
Nate McMaster
49b2e22ab3
Pin tool and package versions to make builds more repeatable
2017-11-01 09:09:28 -07:00
Nate McMaster
1836201bee
Pin tool and package versions to make build more repeatable
2017-10-31 17:33:49 -07:00
Stephen Halter
0c34523e8b
Log exception after critical accept loop error ( #2140 )
2017-10-31 11:09:11 -07:00
pan-wang
2cd59f86c4
client disconnect change ( #223 )
2017-10-30 10:35:56 -07:00
Tom Deseyn
eeb49c2af7
Pass setsockopt fd as int ( #2136 )
2017-10-26 11:40:52 -07:00
Andrew Stanton-Nurse
ab78fb0b8c
fix build break
2017-10-25 15:22:36 -07:00
Cesar Blum Silveira
8c4bdbcf6b
Add "zero config" HTTPS support using local development certificate. ( #2093 )
2017-10-25 13:59:09 -07:00
Stephen Halter
c3ba875d12
Better handle Socket transport accept errors ( #2133 )
...
* More reliably swallow accept errors during shutdown
* Handle and log connection reset errors thrown from accept
* Don't trace errors for server-aborted connections
2017-10-25 12:58:00 -07:00
Justin Kotalik
9c5d38a786
Expose VirtualDirectory to In Process mode ( #210 )
2017-10-25 12:35:47 -07:00
Justin Kotalik
94c895a1bd
Parse Path and PathBase from Virtual Directory. ( #457 )
2017-10-25 12:35:13 -07:00
Andrew Stanton-Nurse
1678c54291
Add some tracing and increase timeout for flaky test ( #2130 )
2017-10-25 11:56:43 -07:00
Justin Kotalik
bd62aa88d7
React to ANCM OnAsyncCompletion changes ( #447 )
2017-10-25 11:46:55 -07:00
Justin Kotalik
332b108f41
Changes PostCompletion to handle OnAsyncCompletion after managed request has completed. ( #212 )
2017-10-25 11:46:34 -07:00
Andrew Stanton-Nurse
7d205d1093
add event names to Logging messages ( #2132 )
2017-10-25 11:27:05 -07:00
pan-wang
bfb2c86cda
moving export methods to a standalone file ( #211 )
2017-10-23 16:26:15 -07:00
pan-wang
c845a331bb
adding forwarding end freb event ( #209 )
2017-10-23 15:28:48 -07:00
Andrew Stanton-Nurse
30010a103b
Fix for #2085 - "The Detaskening" ( #2123 )
2017-10-23 10:52:02 -07:00
pan-wang
448a2afed8
fix the AV in recycle process, issue #192 . ( #201 )
...
* fix the AV in recycle process. this is due to we call Recycle again when the background thread exists
* more fixes
* reset hosting mode when all applications got removed
2017-10-21 13:40:45 -07:00
Jass Bagga
e46ba481c8
Throw JsonSerializationException from converters ( #116 )
2017-10-19 13:32:04 -07:00
Jass Bagga
8eefe0fdc2
Add Test Operation ( #114 )
...
Addresses #1
2017-10-19 10:46:08 -07:00
Cesar Blum Silveira
3fbfba63f8
HTTP/2: implement 100-continue ( #2106 )
2017-10-18 16:31:50 -07:00
Stephen Halter
c57aa3b2a8
Treat more exceptions from Socket.ReceiveAsync as aborted connections ( #2122 )
2017-10-18 12:40:37 -07:00
Justin Kotalik
68014a7acd
Changes async calls to use OnAsyncComplete event pattern ( #184 )
2017-10-17 16:06:59 -07:00
Nate McMaster
4bb84cf6d0
Ensure the deb/rpm installers use the same dotnet-core version
...
- Remove unnecessary tasks and scripts
- Ensure the KOREBUILD_DOTNET_* environment variables are preserved in the docker build context
- Other MSBuild cleanup of the targets
2017-10-17 15:46:53 -07:00
pan-wang
7117147a09
adding FREB and more ETW log ( #185 )
...
* adding FREB log and more ETW logs
* add missing aspnetcore_event.h file from previous commit
* Update aspnetcore_event.h
change provide id as 0x8000 is used by cors
2017-10-17 14:43:31 -07:00
Javier Calvarro Nelson
ff0f112d7b
Add HTTPS developer certificate management tool
2017-10-17 11:22:32 -07:00
Stephen Halter
733ac1efab
Handle EPIPE like ECONNRESET on Linux ( #2112 )
2017-10-13 15:07:21 -07:00
Nate McMaster
446de15f0b
Add aspnet/Templating to the universe build
2017-10-12 18:02:16 -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
Jass Bagga
f1efb29b18
Use ContractResolver instead of forcing to lower case ( #112 )
...
Addresses #90
2017-10-11 14:09: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
611b6a23ad
Update how PackageReference versions are set
...
Changes:
- Remove floating versions
- Disable myget feeds during a Universe build
- Use package-specific MSBuild variables. Pattern = `packageId.Pascalize() + "PackageVersion"`, with a few exceptions.
- Remove myget feeds during build
- Remove obsolete 'GenerateLineup' targets/tasks
2017-10-09 11:32:21 -07:00
Justin Kotalik
f91a941f8d
Moves in-process to UseIISIntegration, removes Server.IIS namespace ( #443 )
2017-10-06 09:52:42 -07:00
pan-wang
746f578c3c
Panwang/inproc ( #174 )
...
refactoring the code to support inprocess (step 1) with app_offline and Graceful shutdown support
2017-10-04 17:35:11 -07:00
Cesar Blum Silveira
11ce1395e5
HPACK fixes and improvements.
2017-10-04 12:59:41 -07:00
Stephen Halter
156ddfc4e8
Fix EOF handling of TlsStream.ReadAsync ( #2094 )
2017-10-04 12:38:19 -07:00
Justin Kotalik
ea7bc30dd3
Avoid AV if schema change doesn't exist. ( #177 )
2017-10-03 14:21:39 -07:00
John Luo
37c12d5a64
Add sources
...
for the final time
2017-10-03 11:46:57 -07:00
John Luo
f6fa111333
Another attempt
2017-10-02 19:18:12 -07:00
=
11b25e7c87
Build and pack Runtime Store
...
- Also add targets to build all metapackage.
2017-10-02 16:43:30 -07:00
Justin Kotalik
9dc69fe361
Adds support for ANCM in process ( #425 )
2017-10-02 16:01:46 -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
Nate McMaster
f3bb4080b0
Use CustomAfterMicrosoftCommonTargets in dotnet-user-secrets
2017-09-26 11:59:29 -07:00
Nate McMaster
3dd029a8b5
Simplify the MSBuild targets in dotnet-watch
...
Use CustomAfterMicrosoftCommonTargets instead of MSBuildProjectExtensionsPath.
- No more need to write to obj/$(Project).g.dotnetwatch.targets
- Works on project that have changed default file locations via BaseIntermediateOutputPath
Simplify DotNetWatch targets
- Condense to one targets file
- Simplify dependency chain of targets
- Build project references in a parallel
2017-09-26 11:59:29 -07:00
Javier Calvarro Nelson
eb9417b577
Re-enable API Check
2017-09-25 15:16:53 -07:00
Justin Kotalik
f130330db8
Updating Xunit and dotnet versions ( #143 )
2017-09-25 15:10:31 -07:00
Javier Calvarro Nelson
49237c7651
Add API check baselines for 2.0
2017-09-25 15:03:09 -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
Chris Ross
8a01a1f790
Remove explicit LangVersion ( #345 )
2017-09-21 15:09:22 -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
Justin Kotalik
2e540341db
Adds in-process mode to ANCM. ( #152 )
2017-09-20 16:09:56 -07:00
Cesar Blum Silveira
9687079723
Check if HTTP/2 frame writer has already been aborted.
2017-09-20 11:15:31 -07:00
Cesar Blum Silveira
9944c0fd43
Fix reading DATA frames with maximum length.
2017-09-20 11:15:31 -07:00
Cesar Blum Silveira
c8f9364e3e
Expose connection features to HTTP/2 connections.
2017-09-20 11:14:15 -07:00
Chris Ross (ASP.NET)
1e1e89b457
logging/#543 Clear HttpContext.User when the user is disposed.
2017-09-19 15:55:14 -07:00
Pavel Krymets
46dadbb186
Make RegistryPolicyResolver an interface to fix 3d party DI ( #275 )
2017-09-18 13:43:45 -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
Justin Kotalik
5c2906a7c6
[WIP] Fixing win7 compilation issues. ( #141 )
2017-09-13 14:40:00 -07:00
pan-wang
a732b106f5
Fix websocket close handshake issue and race condition when websocket client disconnect without close handshake ( #151 )
2017-09-11 18:44:15 -07:00
Justin Kotalik
509ddc6ced
Adds ANCM in-process flag. ( #144 )
2017-09-11 15:30:54 -07:00
Jass Bagga
bf5c043de3
Refactor GetPath in JsonPatchDocumentOfT ( #107 )
...
Addresses #98
2017-09-11 09:54:29 -07:00
Pavel Krymets
ee009982dc
Add KeyVault encryption to DataProtection ( #273 )
2017-09-11 08:51:56 -07:00
Stephen Halter
1e465e9643
Improve timeout logic
2017-09-08 12:50:01 -07:00
Vladimir Sadov
f0ade24cf7
Updating to new toolset compiler. ( #2043 )
...
* Updating to new toolset compiler.
Now includes ref escaping rules.
* newer version.
2017-09-06 15:52:47 -07:00
Jass Bagga
0f51c56c3f
Combine ExpandoObjectAdapter and DictionaryAdapter ( #106 )
...
Use JsonDictionaryContract in the DictionaryAdapter and combine with ExpandoObjectAdapter
2017-09-05 16:07:25 -07:00
Luke Latham
6b8449f491
Sortable log files with stdoutLogFile ( #131 )
...
Fixes #130
2017-08-30 14:33:30 -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
Ben Adams
e7743cbb78
Shorter LibuvThread locks ( #2034 )
2017-08-29 12:21:45 -07:00
Nate McMaster
82ba6b51ef
Use PackageLineup to manage PackageReference versions
2017-08-29 12:08:10 -07:00
Nate McMaster
59290efa6a
Use Directory.Build.props/targets
2017-08-29 12:06:04 -07:00
Nate McMaster
1297798546
Use PackageLineup to manage PackageReference versions
2017-08-29 11:38:56 -07:00
Nate McMaster
5cf936d3cd
Use Directory.Build.props/targets
2017-08-29 11:36:17 -07:00
Nate McMaster
11377e08f6
Use PackageLineup to manage PackageReference versions
2017-08-29 09:42:24 -07:00
Nate McMaster
5178176219
Use Directory.Build.props/targets
2017-08-29 09:41:12 -07:00
Nate McMaster
9b45e7f118
Use PackageLineup to manage PackageReference versions
2017-08-29 09:16:24 -07:00
Nate McMaster
28acde451e
Use Directory.Build.props/targets
2017-08-29 09:14:03 -07:00
Nate McMaster
97b9ff3b33
Use PackageLineup to manage PackageReference versions
2017-08-28 09:46:47 -07:00
David Fowler
9d8556e7c4
Added FrameConnection.OnConnectionClosed back ( #2028 )
2017-08-26 21:20:06 -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
Ben Adams
09be7c416a
Use preparsed version, rather than reparsing ( #2021 )
...
Current path is:
Parser -> HttpVersion Enum -> Get Version String -> Set `HttpVersion` with string -> Convert back to Enum
Can just set the enum directly since its already parsed.
Also using the const rather than strings; where the strings are in code
2017-08-26 17:18:16 -07:00
Ben Adams
088f7e32ae
Reset StatusCode & ReasonPhrase directly ( #2025 )
2017-08-26 17:14:45 -07:00
Nate McMaster
29fd1b3b33
Update README to show 2.0.0 as the latest packages
...
[ci skip]
2017-08-25 09:13:43 -07:00
Jass Bagga
3d6a8615de
Support DynamicObject types ( #99 )
...
Addresses #38
2017-08-24 15:11:01 -07:00
Jass Bagga
d4b64af0e6
Use DictionaryKeyResolver for ExpandoObjectAdapter ( #100 )
...
Addresses #102
2017-08-23 10:30:11 -07:00
David Fowler
dc9ed60465
Create the connection logging scope in ConnectionHandler ( #2013 )
...
- Instead of doing it on the FrameConnection only. This will
make sure all middleware logs get the connection id as part of their scope.
2017-08-22 14:32:58 -07:00
Ben Adams
11a9b6498d
Don't alloc IEnumerable in Reset for ITlsConnectionFeature ( #2009 )
...
* Don't alloc IEnumerable for ITlsConnectionFeature
* Delegate to ConnectionFeatures and determine scheme once
2017-08-21 17:01:05 -07:00
David Fowler
2e6687031d
Added initial connection middleware pipeline ( #2003 )
...
* Added initial connection middleware pipeline
- Implemented IConnectionBuilder on ListenOptions. Kept IConnectionAdapter for now.
- Delay the configure callback for ListenOptions until the server has started.
- Added ConnectionLimitMiddleware and HttpConnectionMiddleware
- Expose ConnectionAborted and ConnectionClosed on ConnectionContext and
IConnectionTransportFeature
- Updated the tests
- Removed IConnectionApplicationFeature
- Moved Application to IConnectionTransportFeature
2017-08-21 12:11:27 -07:00
Nate McMaster
a993c2a5ff
Use PackageLineup to manage versions (revert revert)
...
We resolved the issues with PackageLineup and partial graph builds.
This reverts commit 01bf47170f .
2017-08-18 16:31:06 -07:00
Nate McMaster
01bf47170f
Revert lineups change until we work out issues with PackageLineup
...
This reverts commit a2c0410e39 .
2017-08-18 10:43:19 -07:00
Nate McMaster
a4320ccbda
Upgrade to xunit 2.3.0-beta4
2017-08-18 09:55:10 -07:00
Stephen Halter
14f122fb9f
Measure Writing in FrameWritingBenchmark
2017-08-17 16:59:24 -07:00
Nate McMaster
a2c0410e39
Use PackageLineup to manage package versions
2017-08-17 16:16:40 -07:00
Ben Adams
442ee80039
Less awaits for Reponse Write(Async)
2017-08-17 15:51:22 -07:00
Nate McMaster
87db7cceb6
Stop producing Microsoft.AspNetCore.Server.Kestrel.Tls as a package
2017-08-16 14:56:01 -07:00
Nate McMaster
26f1d4baa3
Use PackageLineup
...
PackageLineup is a way to manage PackageReference versions across large projects. It removes the version information from the repository and instead pulls the information from an external "lineup" file.
2017-08-16 14:10:43 -07:00
Cesar Blum Silveira
0fafd19ec9
Initial HTTP/2 support.
...
What works:
- HTTP/2 over TLS1.2 with ALPN
- Request and response flow
- Headers are compressed and decompressed with HPACK
- Request body can be read by streams (if present)
- MVC template app with individual auth works fine
- PRIORITY frames are validated
- RST_STREAM frames are validated and abort streams
- SETTINGS frames are validated and ACKed
- PING frames are validated and ACKed
- GOAWAY frames stop connections
- WINDOW_UPDATE frames are validated
- CONTINUATION frames are sent for large header blocks
What doesn't work yet:
- Flow control in either direction
- It's not possible to encode a single header across more than one frame
- Affects only a very large header (name and value combined ~16KB long)
- Request trailers
- Response trailers
- Limits and timeouts in `KestrelServerLimits` are not enforced on HTTP/2
- HPACK use is very limited on the send side
- Literals are not Huffman-encoded
- Common headers (e.g. "server: Kestrel") are never indexed
- Honoring client settings
- Some error checking is still missing (e.g. validating incoming frame size)
2017-08-16 10:04:44 -07:00
David Fowler
5c775073a4
Initial bedrock refactoring ( #1995 )
...
- Added Protocols.Abstractions
- IConnectionHandler.OnConnection takes an IFeatureCollection instead of
IConnectionInfo
- Removed IConnectionContext and IConnectionInformation replaced with
IConnectionTransportFeature
- Updated FrameConnectionContext and FrameContext to have the relevant
state instead of flowing the ConnectionInformation.
- Updated tests
2017-08-16 00:02:48 -07:00
Pavel Krymets
659fa967a1
Consume corefxlab packages and private build of C# compiler ( #1976 )
2017-08-07 13:58:19 -07:00
pan-wang
93b37e14db
fix websocket connection issue and some memory leak, and add debug print ( #129 )
2017-08-04 14:51:15 -07:00
Nate McMaster
6584a8b5fd
Shorten folder names
...
Remove the Microsoft.AspNetCore.Server prefix from csproj and their folders. This is required to help us avoid max path issues on Windows.
2017-07-28 11:11:55 -07:00
Nate McMaster
d058fe5a39
Fix StackOverflowException caused when creating the watcher on directories from a network share
2017-07-26 17:23:06 -07:00
Pavel Krymets
fd6617d101
React to pipeline changes ( #1969 )
2017-07-26 15:51:06 -07:00
Ryan Brandenburg
5b85b3f6c7
Update VersionPrefix
2017-07-26 15:35:24 -07:00
Stephen Halter
09c92d61d0
Merge branch 'rel/2.0.0' into dev
2017-07-17 14:58:16 -07:00
Stephen Halter
f0e572075b
Fix FlushAsync when a ConnectionAdapter is configured ( #1957 )
...
* Also remove async void everywhere
2017-07-17 14:57:26 -07:00
Nate McMaster
76aa9b26fc
Use async main in dotnet-watch
2017-07-13 11:55:07 -07:00
Chris R
5753784ac4
#391 Add back the DisplayName setting
2017-07-13 11:22:38 -07:00
David Fowler
7ebbdad974
Add support for connection scopes if logging is enabled ( #1953 )
...
* Add support for connection scopes if logging is enabled
- Don't create a scope if logging isn't on
- Copied the pattern we use in Hosting
2017-07-12 11:45:08 -07:00
Mike Harder
5618fa52d8
Update MSBuild to 15.3.0-* ( #320 )
...
- Matches version shipping with Visual Studio 15.3
2017-07-11 17:47:28 -07:00
Cesar Blum Silveira
fd1758fdfc
Make StopAsync multi-thread safe ( #1666 ).
2017-07-11 14:29:50 -07:00
pan-wang
002c8b9bc9
Adding shutdown http message to support the scenario that ctrl signal is not allowed ( #118 )
2017-07-10 14:55:15 -07:00
Chris R
c8bbbe764a
#395 Add baseline and breaking change files
2017-07-10 09:41:31 -07:00
Cesar Blum Silveira
eca4bfe6c3
Add response minimum data rate feature.
2017-07-07 22:37:25 -07:00
Nate McMaster
5185ebe45f
Fix typo in type name ( #1948 )
2017-07-07 16:27:20 -07:00
Nate McMaster
ec72c255f6
Make HttpsConnectionAdapter pubternal
2017-07-07 14:23:34 -07:00
Nate McMaster
a3c157cb61
Validate certificate EKU when it is provided
2017-07-07 11:31:06 -07:00
Chris R
2e2dc67978
#390 Add back AutomaticAuthentication for opt-out.
2017-07-07 11:28:57 -07:00
Nate McMaster
bd8a2c8a62
Add XML docs for the public HTTPs APIs shipping in 2.0 ( #1942 )
2017-07-07 10:40:39 -07:00
Aristarkh Zagorodnikov
00d17dea79
Domain socket handles ( #1922 )
...
* UvPipeHandle.Open(IntPtr) and underlying interop
* LibuvConstants.ENOTSUP
* IEndpointInformation.HandleType along with ListenOptions extra ctor and handle type re-specification
* Exception-based auto-detection of socket type in Listener, accept socket creation support for detected handle types in ListenerContext
* Added systemd Unix socket activation tests
2017-07-03 11:11:23 -07:00
Stephen Halter
e9ffcdb414
Add feature to optionally disallow synchronous IO ( #1919 )
...
* Allow synchronous IO by default
2017-07-03 11:07:17 -07:00
Cesar Blum Silveira
81c2b57dda
Increase default request min rate to 240 bytes/second ( #1929 ).
2017-06-30 14:58:44 -07:00
Cesar Blum Silveira
68ba9a9445
Avoid torn reads from _frame.MinReadBodyDataRate in FrameConnection.Tick().
2017-06-30 12:22:31 -07:00
Cesar Blum Silveira
f2061ed716
Rename request body min rate APIs ( #1901 ).
2017-06-29 17:16:34 -07:00
Hao Kung
824051cb28
React to auth
2017-06-29 16:29:00 -07:00
Jass Bagga
61505b88a5
Remove use of GetTempFileName ( #313 )
2017-06-28 12:11:17 -07:00
Nate McMaster
9b4be69e9d
Do not enforce timeouts when the debugger is attached
2017-06-27 16:56:27 -07:00
Ajay Bhargav Baaskaran
379d6d8dcd
Added some missed doc comments
2017-06-27 15:02:17 -07:00
John Luo
5155456653
Handle graceful shutdown from ANCM
2017-06-27 13:20:21 -07:00
pan-wang
6b411adbd0
revert the preserve host header change as it failed on Antares ( #114 )
2017-06-21 16:48:38 -07:00
Stephen Halter
ea2f1033d3
Make Transport.Abstractions pubternal ( #1911 )
...
* Remove Sockets transport dependency from primary package
* Use deprecated travis images to keep systemd tests running
https://blog.travis-ci.com/2017-06-21-trusty-updates-2017-Q2-launch
2017-06-21 14:58:57 -07:00
Jass Bagga
c816bce13a
Refactor invalid operation exception handling ( #87 )
...
Addresses part of #80
2017-06-21 12:35:31 -07:00
Stephen Halter
e1e7c9b810
Wait until the writer is complete to reset RequestBodyPipe ( #1902 )
2017-06-20 10:56:23 -07:00
Cesar Blum Silveira
892de7d4b8
Merge branch 'rel/2.0.0-preview2' into dev
2017-06-19 16:39:00 -07:00
Cesar Blum Silveira
7afd279a6d
Don't pause and resume read timing on upgrade requests ( #1904 ).
2017-06-19 16:37:47 -07:00
Nate McMaster
0dfb8e474a
Remove named constraint from SqlCache tool ( #310 )
2017-06-19 15:10:21 -07:00
Nate McMaster
0742f56dbd
Fix minor formatting error in help text for user-secrets
2017-06-17 13:45:20 -07:00
Nate McMaster
5d1a523682
Make ILoggerFactory an optional service on any DI-injected services
2017-06-13 15:15:19 -07:00
Nate McMaster
902783e202
Remove redundant property in dependencies.props
2017-06-13 11:29:31 -07:00
Nate McMaster
abf05e2856
Docker: add warning when FileSystemXmlRepository saves a key to non-volume mounted folder
2017-06-13 11:04:52 -07:00
Nate McMaster
ddd041b0f1
Remove DefaultKeyServices
2017-06-13 00:34:35 -07:00
pan-wang
cee4cf7544
Antares blocks some windows APIs. We have use socket instead of calli… ( #109 )
...
* Antares blocks some windows APIs. We have use socket instead of calling GetExtendedTcpTable to check whether the backend is listening on given port.
* Use socket instead of calling GetExtendedTcpTable to check if the backend process listens on given port since Antares blocks couple APIs
* Antares blocks some windows APIs. We have use socket instead of calling GetExtendedTcpTable
* update format
* format change
2017-06-12 19:41:12 -07:00
Stephen Halter
a97c08843c
Complete IPipeWriter in OutputProducer.Abort() ( #1894 )
...
- This prevents MemoryPoolBlocks from leaking when writes fail
2017-06-12 11:12:01 -07:00
Stephen Halter
d879518a18
Always complete RequestBodyPipe.Reader ( #1893 )
...
* Disable test that leaks blocks in debug builds
* Move some test helpers
2017-06-12 11:11:40 -07:00
Nate McMaster
e7fa69d63c
Minor cleanup: remove unnecessary conditional compilation line
2017-06-08 16:40:09 -07:00
Stephen Halter
31e5dfdcf0
Merge branch 'rel/2.0.0-preview2' into dev
2017-06-08 15:09:55 -07:00
Stephen Halter
f67a105ff4
Update defaults in KestrelServerLimits doc comments ( #1891 )
2017-06-08 15:08:49 -07:00
Cesar Blum Silveira
48638cb1cd
Merge branch 'rel/2.0.0-preview2' into dev
2017-06-08 15:01:34 -07:00
Cesar Blum Silveira
fcc04f8c3d
Add request body minimum data rate feature ( #1874 ).
2017-06-08 14:36:03 -07:00
Pranav K
3f771ef0bc
Remove usage of TaskCache ( #1889 )
...
* Remove usage of TaskCache
2017-06-08 13:47:01 -07:00
Nate McMaster
f12054dfa7
Update Microsoft.AspNetCore.HtmlAbstractions to .NET Standard 2.0
2017-06-08 12:58:50 -07:00
Pranav K
c267d192d6
Remove usage of TaskCache
2017-06-08 11:46:50 -07:00
Chris R
448e6787e2
Fix auth enabled check
2017-06-07 15:43:24 -07:00
Stephen Halter
f96c48c08d
Add a request body size limit ( #1877 )
...
- Implement IHttpMaxRequestBodySizeFeature
2017-06-07 11:48:56 -07:00
Nate McMaster
ccef6b261b
Lift Microsoft.Extensions.WebEncoders to target .NET Standard 2.0
2017-06-07 09:41:23 -07:00
Stephen Halter
6717f1674f
Merge branch 'rel/2.0.0-preview2' into dev
2017-06-06 16:03:42 -07:00
Stephen Halter
89057003b3
Check IHttpMaxRequestBodySizeFeature.IsReadOnly ( #379 )
2017-06-06 16:02:36 -07:00
Kiran Challa
d9531031a8
Updated to netstandard2.0
2017-06-06 12:03:01 -07:00
Chris R
c261b37fda
#371 Conditionally register auth scheme base on ANCM variable
2017-06-05 14:54:15 -07:00
Hao Kung
0390779084
Revert " #1875 Add Configuration support and tests."
...
This reverts commit c6e228d176 .
2017-06-05 13:48:38 -07:00
Chris R
c3ffde286b
Clear MaxRequestBodySize
2017-06-05 11:23:08 -07:00
Ajay Bhargav Baaskaran
5d22a42a2a
Merge branch 'rel/2.0.0-preview2' into dev
2017-06-02 15:22:48 -07:00
Ajay Bhargav Baaskaran
ac3cbb5f8d
Generated api check baselines for AzureStorage
2017-06-02 15:16:16 -07:00
Nate McMaster
34ea52068a
Add --msbuildprojectextensionspath option to dotnet-watch
...
In the event someone wants to move the obj/ folder, MSBuild will not be able to locate dotnet-watch's generated targets. dotnet-watch cannot automatically find the obj folder (#244 ), so this command line switch allows users to point dotnet-watch to the right location.
2017-06-02 15:12:33 -07:00
Chris R
c6e228d176
#1875 Add Configuration support and tests.
2017-06-02 12:30:12 -07:00
Nate McMaster
fe83e69b1a
Add a startup filter which initializes the key ring before the server starts
2017-06-02 11:31:16 -07:00
Nate McMaster
285b973a5c
Use IHostingEnvironment to determine application identifier
...
Reverses changes made in #230
2017-06-02 11:27:25 -07:00
Ajay Bhargav Baaskaran
22ebf68f74
Enable Api check and added breakingchanges json
2017-06-01 17:39:52 -07:00
Cesar Blum Silveira
402b337178
Temporary workaround for GenerateResource task error on VS.
2017-05-30 12:47:36 -07:00
Nate McMaster
c343628926
Implement max connection limits
...
- Added new options to allow configuring the maximum number of concurrent connections and upgraded connections.
- `KestrelServerLimits.MaxConcurrentConnections` defaults unlimited.
- `KestrelServerLimits.MaxConcurrentUpgradedConnections` defaults to unlimited.
- Calls to IHttpUpgradeFeature.UpgradeAsync() will throw when the MaxConcurrentUpgradedConnections limit has been reached.
- Kestrel will close new connections without response when MaxConcurrentConnections is reached.
2017-05-26 12:27:48 -07:00
Hao Kung
273b25fb3a
React to forbid changes
2017-05-25 18:37:27 -07:00
Javier Calvarro Nelson
7ac72dd7d8
Add task for generating ssl certificates with MSBuild
2017-05-24 15:55:43 -07:00
John Luo
d25dbd572c
Target NETStandard2.0
2017-05-24 11:10:13 -07:00
Nate McMaster
b706a75e03
Target .NET Standard 2.0
...
This retargets all data protection libraries to ns2.0. This means .NET
Framework applications will need to upgrade to .NET Framework 4.6.1.
This upgrade makes available API to .NET Core that was previously only
available on .NET Framework, such as encrypting keys at rest with
certificates.
New API for .NET Core users:
- IDataProtectionBuilder.ProtectKeysWithCertificate(string thumbprint)
- CertificateXmlEncryptor
- ICertificateResolver
- DataProtectionProvider
- .Create(string applicationName, X509Certificate2 certificate)
- .Create(DirectoryInfo keyDirectory, X509Certificate2 certificate)
- .Create(DirectoryInfo keyDirectory, Action<IDataProtectionBuilder>
setupAction, X509Certificate2 certificate
Other minor changes in this commit:
- Fixed samples that were using obsolete logging API
- Remove calls to api-sets, instead using kernel32. .NET Core 2.0 no
longer requires using api-sets as Nano Server now forwards kernel32
calls
- Made minor improvements to the TypeForwardingActivator
- Remove dead code an unused api baselines
- Enable more tests on macOS/Linux that previously only ran on Windows
2017-05-24 09:47:10 -07:00
pan-wang
bce531f61a
add features: flowing authentication info, hosting environment variable support; fix client disconnect and app_offline issues ( #102 )
...
resubmit
2017-05-23 17:25:45 -07:00
John Luo
d6a653145d
Target NETStandard 2.0
2017-05-22 15:05:12 -07:00
Cesar Blum Silveira
197eb43d8a
Read request body concurrent to app execution.
2017-05-22 12:23:02 -07:00
Nate McMaster
390582dcf1
Target .NET Standard 2.0 ( #1849 )
2017-05-20 10:37:35 -07:00
Kiran Challa
e3114dc6a4
Temporarily change tfm to netstandard1.3
...
Ideally we want to target netstandard2.0 but this conversion is blocked on the issue: https://github.com/dotnet/sdk/issues/1219
2017-05-19 14:00:08 -07:00
Pavel Krymets
34ab089e7b
React to scheduler changes ( #1846 )
2017-05-18 14:49:48 -07:00
Hao Kung
8ed21d56c8
IIS => Auth 2.0
2017-05-17 13:37:30 -07:00
Nate McMaster
7f0319f5dd
Throw InvalidOperationException from IHttpUpgradeFeature.UpgradeAsync when request is not upgradable
2017-05-17 11:38:42 -07:00
Pavel Krymets
d22f689fd2
Add support to use System.Memory as a package instead of internilized source ( #1821 )
2017-05-16 16:54:03 -07:00
David Fowler
cf16d601d6
Remove synchronous Write APIs ( #1838 )
2017-05-15 19:04:04 -07:00
Stephen Halter
9ab09dbe48
Change Exception to UvException where possible ( #1833 )
2017-05-15 11:03:04 -07:00
Stephen Halter
41f1922502
Simplify LibuvConnection.OnRead() ( #1828 )
...
* Simplify LibuvConnection.OnRead()
- Fix a null reference that sometimes occurs given an EOF status
2017-05-15 11:02:16 -07:00
David Fowler
1a706113d9
Remove rogue ConfigureAwait ( #1830 )
...
- We don't do it anywhere else, I assume this is left over
from older legacy
2017-05-12 18:26:52 -07:00
Cesar Blum Silveira
cb1d0f3956
Prevent infinite loop in PipelineExtensions.PeekAsyncAwaited() ( #1827 ).
2017-05-12 16:04:38 -07:00
Cesar Blum Silveira
37f15bdd85
Create Frame in FrameConnection.
2017-05-10 16:48:37 -07:00
David Fowler
b9518e3684
Invert the dependency between connection adapters and Frame ( #1822 )
...
* Invert the dependency between connection adapters and Frame
- Removed PrepareRequest from IAdaptedConnection and instead added
a feature collection to the ConnectionAdapterContext. This allows features to be set
once by the adapter instead of per request. It's the Frame's job to copy features
from the connection level feature collection into the per request feature collection.
- Set the scheme to "https" based on the presence of ITlsConnectionFeature.
- Always set ITlsConnection feature if the HttpsAdaptedConnection doesn't throw during
the handshake
2017-05-10 15:29:43 -07:00
Pavel Krymets
67322fe8ab
Remove unnecessary package references ( #177 )
2017-05-10 11:48:33 -07:00
Pavel Krymets
7a7dc71164
Remove unnecessary package references ( #79 )
2017-05-10 11:45:31 -07:00
David Fowler
c8b6a2be56
More FrameConnection refactoring ( #1820 )
...
* More FrameConnection refactoring
- This change reverts the change to complete the writer with an
exception on abort because of the number of first chance exceptions
that get thrown.
- This change also moves connection logging into FrameConnection instead
of being split between the ConnectionHandler and FrameConnection.
- Fixed issues with LibuvOutputConsumerTests that leak WriteReq since
cancelled writes no longer end the connection.
2017-05-09 17:40:25 -07:00
David Fowler
c48113ad80
Refactoring and of FrameConnection and Frame ( #1816 )
...
* Refactoring and of FrameConnection and Frame
- Building on top of the last refactoring of FrameConnection, this change aims to clean up
the communication between the Frame and FrameConnection by removing some concepts and
being consistent about the communication between Frame and FrameConnection with or without
connection adapters. Changes include:
- Removing ConnectionLifetimeControl, ISocketOutput, StreamSocketOutput
- Moving more initialization of the frame to FrameConnection after the pipes
are setup
- OutputProducer communicates cancellation via the IPipeWriter instead of the output's IPipeReader.
- Frame always communicates via the pipes and that communications flows through the layers to the transport.
This means that each 1/2 of the adapted pipeline handles closing the right side of the transport at the
right time, propagating exceptions as necessary.
- This is how the flow looks now:
-> ->
[transport] [connection adapters] [frame]
<- <-
- Transports need to handle a ConnectionAbortedException on the output as a signal to stop
writing and end the connection. This will no longer try to drain the output but will just stop
writing and end the response immediately.
- Remove frame.Abort when cancellation on Write fails.
- Unify the connection shutdown logic
- Dispose 1/2 initialized connection adapters
#1815
2017-05-08 20:44:13 -07:00
Chris R
129edaec7c
Remove IHostingEnvironment dependency ( #230 )
2017-05-05 17:03:33 -07:00
Jass Bagga
378136f794
Change TFM to netcoreapp2.0 ( #78 )
2017-05-05 16:12:46 -07:00
Stephen Halter
6e2fdda162
Simplify connection lifetime control flow ( #1776 )
...
* Also make IAdaptedConnection disposable
2017-05-05 16:11:01 -07:00
Pavel Krymets
28b479c99a
Merge branch 'rel/2.0.0-preview1' into dev
2017-05-05 14:35:41 -07:00
Pavel Krymets
a9c165e666
netcoreapp2.0 ( #1810 )
2017-05-05 14:31:34 -07:00
David Fowler
cd1568d7f4
Remove uv_shutdown because FIN is already sent during uv_close ( #1811 )
...
* Remove uv_shutdown because FIN is already sent during uv_close
#1808
2017-05-05 12:52:10 -07:00
Chris Ross (ASP.NET)
539a13717e
Migrate to netcoreapp2.0
2017-05-05 11:37:10 -07:00
Andrew Stanton-Nurse
319f95db5e
netcoreapp20 ( #173 )
2017-05-04 19:26:46 -07:00
Stephen Halter
557cf29e4a
arespr/knownmethods-optimizations cleanup
2017-05-04 12:27:22 -07:00
Stephen Halter
f464760bf8
Merge branch 'arespr/knownmethods-optimizations' into dev
2017-05-04 11:44:54 -07:00
David Fowler
9072e0ba26
Added a ConnectionAbortedException to Transport.Abstractions ( #1806 )
...
* Added a ConnectionAbortedException to Transport.Abstractions
- To avoid hard coding TaskCanceledException in each transport
- This PR tries to keep compatibility by converting the ConnectionAbortedException
to a TaskCanceledException on exceptions in FrameRequestStream. The downside is that
this conversion causes an async state machine to be created per call to ReadAsync.
CopyToAsync isn't that bad because it's a single long running task.
2017-05-03 19:38:34 -07:00
Mike Harder
cfc41d3845
Merge remote-tracking branch 'origin/rel/2.0.0-preview1' into dev
2017-05-03 11:42:10 -07:00
Mike Harder
db517803c8
Move System.Data.SqlClient version from csproj to dependencies.props ( #293 )
2017-05-03 11:30:51 -07:00
Nate McMaster
53caf55116
Remove unnecessary null check.
...
Resolves #210
2017-05-01 16:25:44 -07:00
David Fowler
35b5d92652
Fix EBUSY errors on uv_loop_close ( #1798 )
...
* Fix race where ListenerPrimary is disposed before secondary listeners spin up
- Since we only add listeners to dispatch pipes after receiving the "ack" message
it's possible to have pipes that were created but not acked yet. We might miss
disposal of those pipes if they were never added to the list of _dispatchPipes.
#1761
2017-05-01 14:55:32 -07:00
Nate McMaster
4dc7946cd8
Implement new request trace identifier format
...
The format:
The trace identifier begins with connection ID and ends with a number that increments with each request per connection.
Example:
Connection ID = xyz
Request 1 = "xyz:00000001"
Request 2 = "xyz:00000002"
...
Request 15 = "xyz:0000000F"
Request 16 = "xyz:00000010"
2017-05-01 09:50:47 -07:00
David Fowler
9a5d6c8879
More shutdown tweaks ( #1760 )
...
* More shutdown tweaks
- Added assert if loop has ended before starting the shutdown
sequence.
2017-04-29 01:15:10 -07:00
Stephen Halter
7122b6c4aa
Fix flaky heartbeat test ( #1794 )
2017-04-29 00:42:27 -07:00
David Fowler
749e282102
Prepare for OnReader/WriterCallbacks changes ( #1791 )
...
- This change does a few things:
1. It adds the events we will replace with
pipe events to IConnectionContext and IConnectionInformation to get out of
band notifications about pipe completions.
2. It also implements those callbacks
and exposing slight changes we'll need to make once we have them. The idea is
that we can delete/replace these methods once we have the new pipe API and things
will keep working.
2017-04-29 00:41:48 -07:00
Nate McMaster
88f43ffc1a
Fix race conditions between CTRL+C and RunAsync in dotnet-watch
...
Increase timeouts in testing dotnet-run and improve verbosity of test logging
2017-04-28 10:34:18 -07:00
David Fowler
cfad8051d5
Merge branch 'rel/2.0.0-preview1' into dev
2017-04-27 21:00:46 -07:00
David Fowler
0e372edb2c
Removed UseTransportThread ( #1781 )
2017-04-27 20:59:50 -07:00
David Fowler
5b62024fc8
* Properly handle FINs and resets in the SocketConnection ( #1782 )
...
- FIN from the client shouldn't throw
- Forced close from the server should throw
- Properly wrap connection reset exceptions and other exceptions
in IO exceptions
- This gives kestrel control over when the output closes
- Fixed one test that assumed libuv
- Dispose the connection to yield the reader
Fixes #1774
2017-04-27 17:55:35 -07:00
Stephen Halter
79ea2bb9b3
Quick fix for SslStream ODEs in HttpsAdaptedConnection.PrepareRequest ( #1786 )
2017-04-27 16:56:07 -07:00
Mike Harder
3a248e22c8
Upgrade System.Data.SqlClient to 4.4.0-* ( #287 )
...
- Addresses "SqlClient fails with netcoreapp2.0 on Win7/Server2008" (https://github.com/dotnet/corefx/issues/18406 )
- Revert if and when $(CoreFxVersion) is upgraded to 4.4.0-*
2017-04-27 13:37:20 -07:00
David Fowler
0755495ce5
Remove Logging dependency from the http parser ( #1780 )
...
* Remove Logging dependency from the http parser
2017-04-27 08:46:08 -07:00
Nate McMaster
c2f15fcac3
Move user-facing strings into resource files
2017-04-26 17:22:55 -07:00
Nate McMaster
9464003bda
Add wait in ListenerPrimaryTests to avoid race condition with List.Add
2017-04-26 11:03:28 -07:00
Nate McMaster
4dad47eeab
Ignore assembly version when activating DataProtection types from string name ( #223 )
2017-04-25 14:29:26 -07:00
Smit Patel
edd7386aa8
Update API Check related files
...
React to aspnet/BuildTools#238
2017-04-25 08:19:12 -07:00
David Fowler
566a587126
Added ApplicationSchedulingMode to KestrelServerOptions ( #1759 )
...
* Added ApplicationSchedulingMode to KestrelServerOptions
- Made default mode Default instead of ThreadPool
2017-04-25 00:37:09 -07:00
jhkimnew
2c5132251b
Updated to support IISExpress and add new test cases for the additional environment variables ( #93 )
2017-04-24 18:17:33 -07:00
David Fowler
9e80fb65bd
Removed the wrote after disconnect log ( #1747 )
...
- It's not very useful
2017-04-24 17:34:56 -07:00
Stephen Halter
f26c31c116
Fix scope id test failures on mac and linux ( #1754 )
2017-04-24 17:15:41 -07:00
Nate McMaster
39047638cc
Add debug logging in address binding when IPv6Any fails
2017-04-24 17:14:43 -07:00
Stephen Halter
c22f8f5c59
Fix potential race in LibuvThread.StopAsync ( #1756 )
2017-04-24 16:47:48 -07:00
David Fowler
a98581670e
Schedule connection adapter reads on configured thread pool ( #1741 )
...
* Schedule connection adapter reads on configured thread pool
- This should speed up connection adapters as we don't block
new reads. It *might* also help some of the test flakiness
2017-04-24 12:19:22 -07:00
David Fowler
7e5604b2f5
Remove async from OnRead ( #1746 )
...
- Remove async from fast path.
- Added ApplyBackpressureAsync that pauses and resumes reading
2017-04-24 11:58:52 -07:00
Pavel Krymets
df9e48b1f0
Add cancellation support for write async ( #1736 )
2017-04-24 11:58:08 -07:00
Ajay Bhargav Baaskaran
c959795a64
Creating one IAuthenticatedEncryptor per IKey
2017-04-24 10:46:33 -07:00
Nate McMaster
1e61428f8e
Lift packages to target .NET Core 2.0
2017-04-24 10:39:27 -07:00
David Fowler
71d2abed06
More clean up of LibuvConnection ( #1743 )
...
* More clean up of LibuvConnection
- Use C# 7
- Use Buffer<T>.Pin to get access to the underlying
pointer instead of using TryGetPointer.
2017-04-23 20:45:03 -07:00
David Fowler
db44f5b672
Clean up LibuvOutputConsumer ( #1744 )
...
* Clean up LibuvOutputConsumer
- Added UvShutdownReq.ShutdownAsync
- Added Debug.Assert in LibuvAwaitable since it should never race.
2017-04-23 20:22:49 -07:00
David Fowler
650a3ccc26
Pass exception to Complete ( #1739 )
2017-04-21 23:31:59 -07:00
Chris R
b7ed993d9d
Remove obsolete Azure ForwardedHeaders workaround. ( #359 )
2017-04-21 19:02:11 -07:00
David Fowler
a749939be4
Clean up libuv connection ( #1726 )
...
* Clean up libuv connection
- Cancel all pending flushes on the input writer before
disposing the stream handle.
- Complete the pipe before disposing the socket
- Added logging for connection pause/resume.
- Added test
2017-04-21 13:13:05 -07:00
David Fowler
feb9d1281e
Tweak libuv shutdown sequence ( #1735 )
...
* Tweak libuv shutdown sequence
- Increase timeouts for thread and listener shutdowns
- Remove post.Unreference call from AllowStopRude
2017-04-21 13:12:37 -07:00
Nate McMaster
ee9feedc27
Improve implementation of IHttpUpgradeFeature
...
After upgrade has been accepted by the server:
- Reads to HttpRequest.Body always return 0
- Writes to HttpResponse.Body always throw
- The only valid way to communicate is to use the stream returned by IHttpUpgradeFeature.UpgradeAsync()
Also, Kestrel returns HTTP 400 if requests attempt to send a request body along with Connection: Upgrade
2017-04-20 12:42:58 -07:00
David Fowler
d1494224f4
Make the tests that use the Heartbeat more deterministic. ( #1724 )
...
- Added Start to Heartbeat and made OnHeartbeat internal
- Explicitly call start in tests
2017-04-20 01:41:37 -07:00
Stephen Halter
a053ca4758
Move shutdown logic from transport to core ( #1707 )
...
* Move shutdown logic from transport to core
* Use weak references to track FrameConnections
2017-04-19 18:08:36 -07:00
Nate McMaster
7a3a731686
Refactor address binding and handle EAFNOSUPPORT
...
- Simplify KestrelServer by refactoring address binding into a separate class
- Use strategy pattern to implement address binding for different sceanrios
- Add fallback from binding 0.0.0.0 if binding to [::] fails (can happen if UvException with EAFNOSUPPORT is thrown)
2017-04-19 15:58:12 -07:00
David Fowler
42d82a507d
Make all UvRequest objects normal GC handles ( #1698 )
...
* Make all UvRequest objects normal GC handles
- This avoids the cost of using GCHandle.Alloc per operation.
- It *does* mean that we need to explicitly dispose UvRequest objects
after using them (which we did before anyways). This change does
add a few try catch statements to make sure we always dispose the UvRequest
if there are synchronous exceptions.
- This is ~1.5% of the overhead in the benchmarks today
- Keep track of all allocated UvRequest objects with a WeakReference in DEBUG
and assert none are kept around after cleaning up.
- Fixed a leak where we don't clean up UvWriteReq objects when writing
to the named pipe.
2017-04-19 15:16:11 -07:00
Pavel Krymets
88890595d1
Define a constant to workaround corefxlab classes asses modifier issue
2017-04-18 09:01:35 -07:00
Cesar Blum Silveira
801a7c7652
Add copyright header to TransportSocketOptions.cs.
2017-04-17 20:47:29 -07:00
David Fowler
e4af3f7e35
Expose a UseTransportThread property on KestrelServerOptions ( #1695 )
...
- This property will force Kestrel to use whatever scheduler the transport
used when write and read callbacks are fired. The default value is false so
all calls to user code including connection adapters, and the application function,
and cancellation token callbacks.
- Transports may expose configuration that changes what the transport thread is.
- Removed InternalKestrelServerOptions.cs
- Added a configurable UseSockets overload (even though there are no options yet)
- Remove RequiresDispatch from the IConnectionInformation
2017-04-17 12:58:28 -07:00
David Fowler
85d883456b
Remove Reset from IHttpParser ( #1700 )
...
* Remove Reset from IHttpParser
- The parser isn't stateful and doesn't need it
2017-04-17 00:37:40 -07:00
David Fowler
31cc1e5018
Fix extra space
2017-04-16 09:25:28 -07:00
David Fowler
6a403d231e
Clean up IThreadPool interface ( #1696 )
...
- Remove tcs completion methods
2017-04-15 19:04:44 -07:00
Stephen Halter
8cd58b042c
Fix tests using Heartbeat
2017-04-14 16:26:27 -07:00
Stephen Halter
7aa7b3e0a9
Track connections until request processing completes
...
- Paves the way to allow request processing to continue during server shutdown
even after a client disconnects.
2017-04-14 16:26:27 -07:00
Nate McMaster
c08c57f764
Reject HTTP/1.1 requests that do not have a correct Host header
...
Improves Kestrel to reject requests that don't conform to HTTP spec.
RFC 7230 section 5.4: "A server MUST respond with a 400 (Bad Request)
status code to any HTTP/1.1 request message that lacks a Host header
field and to any request message that contains more than one Host
header field or a Host header field with an invalid field-value."
See https://tools.ietf.org/html/rfc7230#section-5.4 .
Other changes:
- update VS code settings to work better with CLI 2.0
- update tests that were subject to infinite hangs
2017-04-14 15:48:21 -07:00
David Fowler
9e37272f06
Clean up the logic in DoReceive
2017-04-14 01:39:56 -07:00
David Fowler
aedd061865
Tweaks to socket transport ( #1687 )
...
- Style changes: Sort usings, use more var and C#7
- Added ConfigureAwait to stop dead locks with xunit
- Remove duplicate handling of aborts in the receiver
- Handle the case where output ends before input
2017-04-14 01:14:21 -07:00
Geoff Kizer
efa0a48fb1
Add initial Socket transport for Kestrel ( #1659 )
...
- This change adds the initial socket transport for Kestrel, all of the tests pass but there are still
a couple of things that aren't done yet.
- The functional tests support running both on both transports but tests aren't running for sockets right now. We need to parameterize these.
- TimeoutServerTests hard code the libuv transport, this needs to support any transport.
- There is no handling of connection stopping on application shutdown. This is being implemented in kestrel core so transports don't need to handle it. Sockets won't be the default transport until that is the case.
- Performance needs to be looked at, today the SocketTransport doesn't dispatch by default and we're not buffering in kestrel.core, this can hurt as the number of kernel calls map 1:1 with application writes.
2017-04-13 23:10:06 -07:00
John Luo
0723d46ec4
Honor PreferHostingUrls #1575
2017-04-13 18:12:53 -07:00
Pavel Krymets
3045cff3c5
Fix adapted output pipe options ( #1682 )
2017-04-13 15:54:48 -07:00
Stephen Halter
6036f27f52
Fix deadlocks in startup and shutdown
2017-04-13 12:47:34 -07:00
Andrew Stanton-Nurse
e25a2eced8
port dotnet/corefx#17444 to WebSockets ( #162 )
2017-04-13 09:55:45 -07:00
Nate McMaster
ed4a27a827
Remove ListenOptions.Scheme and move IConnectionFilter to .Internal namespace
...
Add an internal API to ListenOptions to determine if an endpoint is configured to use HTTPS. This is a temporary as the design of connection adapters and configuration will churn before release.
2017-04-13 09:45:26 -07:00
David Fowler
8258d300e2
Small tweaks to timer logic ( #1668 )
...
- Avoid null refs in tests by ignoring null IKestrelTrace
- Use a static callback for the timer callback
Fixes #1667
2017-04-13 09:29:43 -07:00
Chris R
8b6d933711
Add ConfigureAwaits to prevent test deadlocks
2017-04-13 07:26:51 -07:00
Chris R
e043fa871e
Make IServer Start and Stop async
2017-04-12 22:23:05 -07:00
Stephen Halter
11ab602b2f
Make timeout logic transport agnostic ( #1649 )
...
* Make timeout logic transport agnostic
* PR feedback
* More PR feedback
2017-04-12 16:15:46 -07:00
Ben Adams
d29e4d4cf0
Specialized struct generics rather than interface ( #1640 )
...
Changed the IHttpParser interface to be generic. This lets use a struct to
get better code generation and also should allow us to inline calls back into
the handler from the parser.
2017-04-10 19:30:18 -07:00
Ben Adams
2863cca8ca
FrameFeatureCollection benchmark ( #1643 )
2017-04-09 16:02:18 -07:00
Ben Adams
fb22629da6
Use Span.IndexOf rather than Contains ( #1638 )
...
- Remove Contains method and use IndexOf (which is already vectorized) to look for CR in header values.
2017-04-08 23:45:26 -07:00
John Luo
ce3c71b5b3
Set PreferHostingUrls when IIS adding override address
2017-04-08 20:49:26 -07:00
Stephen Halter
58284bde5c
Don't dispose WriteReqPool and PipeFactory too soon ( #1633 )
2017-04-08 01:35:02 -07:00
David Fowler
0fd885e5eb
Signal the reader after aborting the connection ( #1636 )
...
- This will give it a chance to unwind gracefully before failing
with an invalid request.
Fixes #1632
2017-04-08 01:22:06 -07:00
Pavel Krymets
53b0eea2ec
Use writable buffer writer ( #1564 )
2017-04-07 14:40:10 -07:00
David Fowler
239b691ff5
A few HttpParser changes ( #1624 )
...
- Renamed KestrelHttpParser to HttpParser
- Removed the generic virtual dispatch as it turns out to be an
order of magnitude slower than regular virtual dispatch. This change
means we also lose the inlining of Frame.OnStartLine and Frame.OnHeader.
2017-04-07 08:35:53 -07:00
Cesar Blum Silveira
f253dbc0c0
Split transport-specific tests and general tests into distinct test projects ( #1588 ).
...
* Rename EngineTests to LibuvTransportTests.
* Move libuv-specific tests into their own test project.
* Move LibuvOutputConsumerTests.AllocCommitCanBeCalledAfterConnectionClose to new OutputProducerTests class and rename it to WritesNoopAfterConnectionCloses.
* Remove TransportContext from TestServiceContext.
* Make KestrelTests depend on Kestrel.Core only.
* Rename Microsoft.AspNetCore.Server.Kestrel.KestrelTests to Microsoft.AspNetCore.Server.Kestrel.Core.Tests.
* Add Microsoft.AspNetCore.Server.Kestrel.Tests test project for WebHostBuilderKestrelExtensionsTests.
* Increase socket receive timeout in MaxRequestBufferSizeTests to mitigate flakiness.
* Anything using TestServer should be a functional test.
* Move out of LibuvTransportTests tests that are not specific to LibuvTransport.
- Move to RequestTests:
- Http11 (rename to Http11KeptAliveByDefault)
- Http10ContentLength (rename to Http10NotKeptAliveByDefault)
- Http10KeepAlive
- Http10KeepAliveNotUsedIfResponseContentLengthNotSet (rename to Http10KeepAliveNotHonoredIfResponseContentLengthNotSet)
- Http10ContentLengthKeepAlive (rename to Http10KeepAliveHonoredIfResponseContentLengthSet)
- Expect100ContinueForBody (rename to Expect100ContinueHonored)
- ZeroContentLengthAssumedOnNonKeepAliveRequestsWithoutContentLengthOrTransferEncodingHeader
- ConnectionClosesWhenFinReceivedBeforeRequestCompletes (test was actually not marked as Theory, and was incorrect)
- RequestsCanBeAbortedMidRead
- RequestHeadersAreResetOnEachRequest
- UpgradeRequestIsNotKeptAliveOrChunked
- HeadersAndStreamsAreReused (rename to HeadersAndStreamsAreReusedAcrossRequests)
- Move to ResponseTests:
- Http10RequestReceivesHttp11Response (rename to Http11ResponseSentToHttp10Request)
- ZeroContentLengthSetAutomaticallyAfterNoWrites
- ZeroContentLengthSetAutomaticallyForNonKeepAliveRequests
- ZeroContentLengthNotSetAutomaticallyForHeadRequests
- ZeroContentLengthNotSetAutomaticallyForCertainStatusCodes
- ConnectionClosedAfter101Response
- ThrowingResultsIn500Response
- ThrowingAfterWritingKillsConnection
- ThrowingAfterPartialWriteKillsConnection
- ThrowingInOnStartingResultsInFailedWritesAnd500Response
- ThrowingInOnCompletedIsLoggedAndClosesConnection
- FailedWritesResultInAbortedRequest
- NoErrorsLoggedWhenServerEndsConnectionBeforeClient
- NoResponseSentWhenConnectionIsClosedByServerBeforeClientFinishesSendingRequest
- ResponseHeadersAreResetOnEachRequest
- OnStartingCallbacksAreCalledInLastInFirstOutOrder
- OnCompletedCallbacksAreCalledInLastInFirstOutOrder
- Remove:
- RePathEscapeTests (theory data to HttpParsingData)
- ReDisconnectingClient (what was that testing?)
2017-04-06 19:09:40 -07:00
Pranav K
3b016e6832
Use 4.3.0 version of System.Threading.Tasks.Extensions
2017-04-05 18:03:24 -07:00
John Luo
ff3ff939c3
Update WindowsAzure.Storage version ( #217 )
...
* Update WindowsAzure.Storage version
* Remove target fallback
2017-04-05 16:28:43 -07:00
Ajay Bhargav Baaskaran
697745c490
[ Fixes #218 ] Set IXmlRepository using ConfigureOptions
2017-04-05 16:08:18 -07:00
Pavel Krymets
dd02ba577f
Use corefxlab and corefx by source ( #1612 )
2017-04-05 15:37:45 -07:00
Stephen Halter
b40d8b4248
Fix naming of IConnectionInformation.OutputReaderScheduler ( #1608 )
2017-04-04 21:30:33 -07:00
Cesar Blum Silveira
7ceea5323a
Rename namespaces/directories/classes in Kestrel.Core and Transport.Libuv ( #1582 ).
...
- Put everything in the libuv transport package under `Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.*` namespaces.
- Move stuff in Transport.Libuv/Internal/Http and Transport.Libuv/Internal/Infrastructure to Transport.Libuv/Internal (keep the Networking directory for the libuv wrappers).
- Add `Libuv` prefix to most libuv internal classes.
- Rename `KestrelEngine` to `LibuvTransport`.
- Rename `SocketOutputConsumer` to `LibuvOutputConsumer`.
- Rename `SocketOutputProducer` to `OutputProducer`.
- Fix namespaces in `Microsoft.AspNetCore.Server.Kestrel.Core.`
2017-04-04 13:45:02 -07:00
Pranav K
9b5a26f774
Updating versions to 2.0.0-preview1
2017-04-03 21:41:09 -07:00
Cesar Blum Silveira
6a66323a99
Remove Kestrel.Core dependency from Transport.Libuv ( #1584 ).
2017-04-03 20:54:01 -07:00
Cesar Blum Silveira
6bd0344880
Add Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions project ( #1582 ).
...
- Changes the design to have one ConnectionHandler per endpoint.
2017-04-03 15:09:03 -07:00
Stephen Halter
f285b18f08
Ensure no data is written to a connection after uv_shutdown ( #1600 )
2017-04-03 14:58:43 -07:00
Pavel Krymets
c7113e1c60
Revert "Fetch corefx lab sources and compile them into kestrel ( #1581 )"
...
This reverts commit 13ee32b7ab .
2017-04-03 14:08:27 -07:00
Pavel Krymets
13ee32b7ab
Fetch corefx lab sources and compile them into kestrel ( #1581 )
2017-04-03 13:21:17 -07:00
David Fowler
f787c5277c
Remove unused span ( #1599 )
2017-04-02 23:53:49 -07:00
David Fowler
547ad80a27
Don't update consumed if we didn't see a new line ( #1592 )
...
* Don't update consumed if we didn't see a new line
- The start line parser incorrectly updated the consumed cursor
when it attempted to find new lines across buffers. This change fixes
that and also removes passing the span by reference (which will be illegal).
- Added a unit test
2017-04-02 00:03:06 -07:00
Nate McMaster
83958886cc
Implement IHttpRequestIdentifierFeature on Frame
...
This feature generates a unique ID per request. This unique ID can be
used in event source and logging.
Also, this change improves KestrelEventSource by moving it back into the
Kestrel.Core assembly and de-coupling from the Libuv transport. This
adds two new events, RequestStart and RequestStop, which can be used to
identify the correlation between connection ID and request trace
identifier.
2017-03-31 16:54:35 -07:00
Cesar Blum Silveira
6b9d54265f
Call ProduceEnd() before consuming request body if response has already started ( #1530 ).
2017-03-31 11:08:55 -07:00
David Fowler
b0bd5475cd
More decoupling ( #1572 )
...
- Remove Libuv and Hosting dependency from Kestrel.Core
- Kestrel.Https and Kestrel.Core depend on Hosting.Abstractions
* wip
* Added separate ServerAddressesFeature
* Review feedback
- Added TlsConnectionFeature to Https
2017-03-30 20:14:50 -07:00
David Fowler
c3ad007b0d
Fixed regression caused by transport refactoring ( #1573 )
...
* Fixed regression caused by transport refactoring
- Libuv should not close the socket until it has started it. Before this was enforced
by calling ReadStart before starting the frame but the flow has changed. Now that closing the connection
is communicated via the pipe, we need to start consuming writes after calling ReadStart.
- Renamed OnSocketClosed to Close and moved dispose and logging into that method.
Fixes #1571
2017-03-30 09:33:28 -07:00
Cesar Blum Silveira
1be31ae2ce
Throw if UseUrls specifies HTTPS or path base ( #1519 ).
2017-03-29 20:23:51 -07:00
Cesar Blum Silveira
e64bffd25c
Remove deprecated property KestrelServerOptions.MaxRequestBufferSize ( #1027 ).
2017-03-29 20:15:08 -07:00
Nate McMaster
6b6a8347cc
Add Connection as a primary request header
2017-03-29 16:40:50 -07:00
Nate McMaster
686829d226
Add tests for WritableBuffer extensions and rename WriteAscii => WriteAsciiNoValidation
2017-03-29 16:10:31 -07:00
Stephen Halter
7f785588ef
Transport agnostic kestrel refactoring ( #1551 )
...
- Add transport interfaces
- Create separate Core and Libuv projects
#828
2017-03-29 16:06:05 -07:00
Hao Kung
0e6db5af0f
Bump to netstandard1.1 for options
2017-03-29 14:32:35 -07:00
Chris R
d6322872ed
#348 Implement IISHostingStartup
2017-03-27 15:54:34 -07:00
Pranav K
f66753cc3c
Remove net451 as a cross-compile target
2017-03-24 16:01:41 -07:00
Pranav K
d6d13a0986
Remove net451 as a cross-compile target
2017-03-24 07:44:11 -07:00
Pranav K
91406009d3
Remove net451 as a cross-compile target
2017-03-23 17:20:12 -07:00
Pranav K
20dcccd847
Revert "Revert "Change compilation targets.""
...
This reverts commit 5f76cd272a .
2017-03-23 09:08:05 -07:00
David Fowler
f090b7a9c6
React to corefxlab changes ( #1539 )
...
- Removed use of TryRead and follow the pin and use pattern in the other APIs
https://github.com/dotnet/corefxlab/pull/1348
2017-03-23 06:52:24 -07:00
N. Taylor Mullen
5f76cd272a
Revert "Change compilation targets."
...
This reverts commit 42d34e4559 .
2017-03-22 17:22:19 -07:00
Pranav K
42d34e4559
Change compilation targets.
...
* Remove net451 as a compilation target
* Upgrade to netcoreapp2.0
2017-03-22 14:37:25 -07:00
Nate McMaster
f246dd3502
Upgrade test projects to .NET Core 2.0
2017-03-22 11:56:27 -07:00
Nate McMaster
13219fafa9
Remove code that moved into CommandLineUtils
2017-03-22 10:19:19 -07:00
Doug Bunting
55507de7dd
Disable API Check in a project with untracked breaking changes
2017-03-22 08:33:14 -07:00
David Fowler
c65734667a
Optimize calls into StreamSocketOuput to WriteFast further ( #1538 )
...
* Optimize calls into StreamSocketOuput to WriteFast further
- Added overloads to array, offset, length to avoid implicit conversions to
ReadOnlySpan.
- Use similar optimizations for multi buffer writes for strings and ints
- Use ref locals in multi write instead of pointers and pinning
2017-03-22 02:16:28 -07:00
Cesar Blum Silveira
72587baac3
Check that MaxRequestBufferSize is greater than or equal to MaxRequestHeadersTotalSize ( #1491 ).
2017-03-21 19:25:56 -07:00
Pranav K
52911cd3f1
Change compilation targets.
...
* Remove net451 as a compilation target
* Upgrade to netcoreapp2.0
2017-03-21 16:41:15 -07:00
Nate McMaster
849319bcff
React to changes in command line utils
2017-03-21 16:31:29 -07:00
Nate McMaster
1f8e8fae5d
React to aspnet/Common#205
2017-03-21 15:48:04 -07:00
David Fowler
5fad3c7a3e
Remove async from WriteAsync in SocketOutput ( #1531 )
...
- SocketOutput.WriteAsync will be synchronous for a majority of cases
(until you reach the limit) so no need to pay the async state machine
cost until then.
2017-03-21 09:52:24 -07:00
Ben Adams
32d6b42964
Respond to corefxlab rename (build break) ( #1529 )
2017-03-21 08:43:49 -07:00
Ben Adams
24ed93288e
Use for rather than foreach on List ( #1523 )
...
List enumerator is full fat
2017-03-21 03:26:58 -07:00
David Fowler
f546f16356
Forgot to WriteFast in SocketOutput ( #1527 )
2017-03-21 03:21:31 -07:00
David Fowler
cf576559b6
Fix write after close ( #1526 )
...
- Change Alloc to be a Write with a callback that exposes the WritableBuffer.
This allows the ISocketOutput to implementation to not call the callback if
the underlying socket is dead.
- Added a new functional test
2017-03-20 23:58:26 -07:00
Cesar Blum Silveira
3b40ba52ca
Check if request is aborted before verifying response bytes written ( #1498 ).
2017-03-20 16:02:25 -07:00
Stephen Halter
8923b0da70
Use correct config for response buffer limit ( #1516 )
2017-03-20 15:43:55 -07:00
David Fowler
39819d6708
Added fast path for single memory ReadableBuffer ( #1512 )
...
* Special case single buffer
* Added fast path for single span buffers in UvWriteReq
2017-03-20 00:11:41 -07:00
David Fowler
2ed456fd68
Faster Write implementation using cpblk ( #1511 )
...
* Faster Write implementation
- Use Unsafe.CopyBlockUnaligned to copy bytes to the
WritableBuffer. This is temporary until we get newer
corefx bits with a better span.CopyTo implementation.
- Remove WritableBufferExtensions from Performance project
- Split method into WriteFast and WriteMultiBuffer
- Cache the span for the common case where
the buffer is non empty.
- Use ref locals instead of pinning pointers in fast path
2017-03-19 12:44:01 -07:00
David Fowler
f1e0143d51
React to corefxlab changes ( #1510 )
...
* React to latest CoreFxLab changes
2017-03-19 01:31:11 -07:00
David Fowler
f6e5e74d95
Update packages ( #1509 )
...
* Update packages
* React to API changes in corefxlab
2017-03-18 15:42:01 -07:00
Justin Van Patten
6d2001c67a
Remove explicit static constructors ( #1483 )
...
Explicit static cctors cause the C# compiler to not mark types as
beforefieldinit, which means the JIT will add checks to each static
method and instance constructor of the type to make sure that the static
constructor was previously called.
2017-03-18 12:42:31 -07:00
Ben Adams
5b814a55ac
Speed up WritableBuffer.WriteXxx ( #1504 )
...
* Speed up WritableBuffer.WriteAscii
* Add Benchmarks
* Non-standard header vals are still ascii
* Speedup WriteNumeric
* Don't advance for write
* Remove cruft
2017-03-18 12:25:10 -07:00
David Fowler
f4c6e0b151
Feedback from SocketOutput port ( #1502 )
...
- Fix naming convention in LibuvAwaitable
- Remove case statement in SocketOutput
2017-03-18 01:21:31 -07:00
Pavel Krymets
07cbf7faa9
Use pipelines for SocketOutput
...
- Changed socket output to be based on pipelines
- Changed connection filter glue to be based on pipelines
- Codegen that used `MemoryPoolIterator` for output now uses `WritableBuffer`
- Made `UvWriteReq` async/await friendly with `LibuvAwaitable<T>`
- Deleted MemoryPool and friends
2017-03-18 00:26:00 -07:00
Cesar Blum Silveira
2ef3804578
Span-based RemoveDotSegments ( #1448 )
2017-03-17 14:42:13 -07:00
Nate McMaster
4abe714f2b
Consolidate dependency versions into one file and remove workarounds
2017-03-15 19:29:21 -07:00
Ajay Bhargav Baaskaran
1ce7fc7245
Use TryAdd to add services
2017-03-15 17:57:44 -07:00
Nate McMaster
832cbdcee8
Unify dependency versions to one file
2017-03-15 15:11:25 -07:00
Nate McMaster
de30243c11
Unify dependency versions to one file and remove workarounds
2017-03-15 15:06:58 -07:00
Nate McMaster
e3ca1d1a2c
Unify dependency versions to one file and remove workarounds
2017-03-15 13:47:45 -07:00
Nate McMaster
6a61e10a4b
Unify dependency versions and remove workarounds
2017-03-15 10:47:41 -07:00
Cesar Blum Silveira
632780dd16
Remove splitting of path and path base ( #1050 ).
2017-03-15 09:57:33 -07:00
Nate McMaster
d1d656d5b8
Add samples and update READMEs ( #275 )
2017-03-15 09:29:05 -07:00
Ajay Bhargav Baaskaran
cde3b96aa7
[ Fixes #134 ] Refactored DI support
...
- Refactored builder extensions and service collection extensions
- Refactored Settings/Configuration/Descriptor
- Removed ConfigurationCommon/AuthenticatedEncryptorConfigurationExtensions
- Added IAuthenticatedEncryptorFactory and implementations
- Refactored IKey to have Descriptor instead of CreateEncryptorInstance()
- Handled Repository/Encryptor special logic
- Added samples
- Updated tests
2017-03-14 19:58:46 -07:00
Nate McMaster
d4c0d4b81e
Adds an EventSource named 'Microsoft-AspNetCore-Server-Kestrel' with the following event and properties:
...
ConnectionStart:
- connectionId
- scheme
- localEndPoint
- remoteEndPoint
ConnectionStop:
- connectionId
2017-03-14 16:59:11 -07:00
Nate McMaster
8c32731282
Update dependencies and build version to 1.2.0
...
Unify dependencies
Remove duplcated code from CommandLineUtils
Update appveyor image
2017-03-14 12:22:25 -07:00
Andrew Stanton-Nurse
cb150de808
port dotnet/corefx#17049 ( #151 )
2017-03-14 12:04:59 -07:00
Nate McMaster
64f84811bd
Fix incorrect debug asserts
2017-03-14 11:45:04 -07:00
Nate McMaster
5073d4fdaf
Re-add .NET Framework to tests and other cleanup ( #1494 )
2017-03-14 11:02:49 -07:00
Ben Adams
b94912bcb1
InitializeHeaders only at start of parsing/Fix remaining ( #1488 )
...
* Don't reinitialize header collection each loop
* Correct remaining tracking value
* Add tests
2017-03-13 15:32:28 -07:00
Nate McMaster
1bfa9c4b4b
Make it possible to detect that a process is running inside dotnet-watch by setting 'DOTNET_WATCH=1'
2017-03-13 13:00:22 -07:00
Cesar Blum Silveira
49f09d5a25
Log rejected request targets.
2017-03-12 18:37:08 -07:00
Justin Van Patten
b612da4e6c
Avoid an unnecessary closure allocation in ListenerSecondary ( #1485 )
...
The tcs is being passed as the state, so use it from the state instead
of closing over it.
2017-03-12 12:20:41 -07:00
Justin Van Patten
a26f96237b
Specify StringComparison when calling string.StartsWith ( #1484 )
...
StartsWith does a culture-sensitive comparison by default. An ordinal
comparison makes more sense here.
2017-03-11 22:31:42 -08:00
arespr
d755f6183a
Merge branch 'dev' into knownmethods-optimizations
2017-03-11 22:50:58 +01:00
Nate McMaster
c97dd446eb
Simplify console output and fix color output on CMD
2017-03-10 09:18:38 -08:00
Nate McMaster
49b328d4c2
Handle absolute, asterisk, and authority-form request targets
...
Improves compliance with RFC 7230 on the expected handling of requests
that have URI or asterisk in the request target.
This means rejecting asterisk requests that are not OPTIONS and rejecting
authority-form requests taht are not CONNECT.
This also means the server will handle the path and query on targets
with absolute URIs as request-targets.
2017-03-09 16:54:12 -08:00
Ben Adams
941d396942
Speed up ParseRequestLine ( #1463 )
2017-03-08 19:27:56 -08:00
Cesar Blum Silveira
bb973decb8
Unify header rejection messages.
...
- Log bad headers with escaped non-vchar characters
2017-03-08 15:27:44 -08:00
arespr
e9250323e0
update GeneratedCodeTests
2017-03-08 22:20:43 +01:00
David Fowler
dbcf34388e
Remove dependency on Utf8String ( #1466 )
...
- Also remove System.IO.Pipelines.Text.Primitives
2017-03-08 12:38:55 -08:00
Thierry Fleury
42d0d40b36
[ Fixes #61 ] Move must keep object reference
2017-03-08 12:26:10 -08:00
arespr
0bca84a268
Add HttpUtilities to CodeGenerator
2017-03-08 19:17:12 +01:00
arespr
0a45cbbb95
Merge branch 'dev' into knownmethods-optimizations
2017-03-08 19:09:00 +01:00
Cesar Blum Silveira
e25eb418bb
Change non-printable char representation in log messages from <0xXX> to \xXX.
2017-03-08 10:05:53 -08:00
David Fowler
1f0bb14546
Clean up left over code from port to pipelines ( #1465 )
...
- Remove unused methods in PipelineExtensions
- Remove AwaitableThreadPool since we dispatch reads
2017-03-08 08:43:11 -08:00
Cesar Blum Silveira
5743d740b4
Convert HTTP parsing FrameTests to IHttpParser tests ( #1416 ).
...
- Also fix an issue in KestrelHttpParser where "Header: \r\n" is
parsed with a value of " " instead of "".
2017-03-07 15:51:11 -08:00
Ben Adams
e2f8c226ef
Simplify TakeSingleHeader and Vectorize ( #1457 )
...
* Sanitize unsafe code
* Vectorize
* Extract Contains and add more tests
2017-03-07 13:30:57 -08:00
Nate McMaster
beb53221c3
Merge branch 'rel/1.0.0' into dev
2017-03-07 12:52:07 -08:00
Pavel Krymets
1294c00618
Cleanup unused code ( #1458 )
2017-03-07 11:52:45 -08:00
David Fowler
02a4342908
Made changes to TakeSingleHeader ( #1453 )
...
* Made changes to TakeSingleHeader
- Remove state machine and just parse in place
- Inline OnHeader into TakeSingleHeader
- Use IndexOfVectorized instead of custom indexof
- Normalize header whitespace error
- Combine IndexOf and IndexOfAny into a single IndexOfNameEnd call
2017-03-07 08:58:55 -08:00
John Luo
06134bc6e0
Add IPv6 loopback address by default #1434
2017-03-06 18:02:28 -08:00
David Fowler
537b06f025
Interleave multispan and single span code path ( #1442 )
...
- Attempt at making the reader better for multispan parsing
- Try tighter inner loop
- Fix boundary case and clean code up
- Update the cursor once instead of after every header
- Fix errors with not updating consumed state on incomplete header payload
- Filled a test hole, removed a condition that should never happen
- Avoid struct copies every iteration when parsing headers
2017-03-06 09:06:28 -08:00
David Fowler
da763b4873
Use ascii decoding routine that disallows null chars ( #1445 )
...
* Use ascii decoding routine that disallows null chars
- GetAsciiString() in newer corefxlab builds allows 0 (which is a valid
ascii char). To avoid future regressions, GetAsciiStringNonNullCharacters()
was added and used in place of GetAsciiString() when interpreting the
request line and headers
- Make GetAsciiStringNonNullCharacters return empty instead of null
2017-03-04 11:26:32 -08:00
David Fowler
20f75605ca
Workaround rogue System.IO.Pipelines on nuget.org
2017-03-03 22:35:41 -08:00
Stephen Halter
ac60f13312
Modify RequestProcessingAsync to call single parse method ( #1427 )
...
* Modify RequestProcessingAsync to call single parse method
* Fix bad request logging
2017-03-03 14:43:32 -08:00
David Fowler
1d685e195e
Parser cleanup and remove line continuation header error ( #1431 )
...
- Cleaned up some parsing logic (removed locals etc)
- Removing line continuation errors cleaned up code duplication
a little bit
2017-03-03 10:04:44 -08:00
arespr
ac5fd3f29f
PR feetback
2017-03-02 22:45:36 +01:00
arespr
bb74a6ce34
address PR feetback, fix unit tests for invalid known methods
2017-03-02 22:04:43 +01:00
David Fowler
8929b40527
Single span optimizations ( #1421 )
...
- Added a fast path for single span in the start line parsing
- Added a fast path for single span header parsing
- Changed the out header loop to be pointer based (instead of slicing)
2017-03-02 12:17:39 -08:00
arespr
96fead6282
better GetKnownMethodIndex, unit tests, benchmark repair
2017-03-02 20:58:18 +01:00
David Fowler
ca31627a5e
Parser clean up ( #1419 )
...
- Remove stackalloc
- Remove extra Move in ParseRequestLine
2017-03-01 22:33:37 -08:00
Pavel Krymets
f2a00da811
Loop over bytes inside states of parser state machine ( #1417 )
2017-03-01 18:18:34 -08:00
arespr
b89415d9b2
knownmethods optimizations
2017-03-02 03:10:00 +01:00
David Fowler
cb6059c143
Make the IHttpParser per frame and add a reset ( #1415 )
...
* Make the IHttpParser per frame and add a reset
- Made the IHttpParser a per frame object so state can be stored
across method calls and parses.
- Added HttpParserFactory to ServiceContext
2017-03-01 13:12:03 -08:00
Pavel Krymets
d3694f085a
Add IHttpParser interface ( #1414 )
2017-03-01 11:55:36 -08:00
Krzysztof Cwalina
c56de066d3
Optimized parsing GET verb and version ( #1399 )
...
* Optimized parsing GET verb
* optimized http version parsing
* Added microbenchmarks for GetKnownMethod and GetKnownVersion
2017-02-28 17:02:52 -08:00
John Luo
6ad9f3e8b0
Reacting to HeaderUtitilities renames
2017-02-28 14:50:02 -08:00
Cesar Blum Silveira
568aaff9c4
Improve HTTP parsing tests ( #1393 ).
...
- Add several more test cases
- Share data between functional and unit tests
2017-02-28 14:23:27 -08:00
Stephen Halter
fde0f6b2fc
Add an option to Kestrel to disable threadpool dispatching
2017-02-28 10:14:58 -08:00
David Fowler
c6705d8693
Convert TakeStartLine and TakeMessageHeaders to be state machines ( #1401 )
...
- Less passes over the buffer
- Single pass to find all start line delimiters instead
of calling IndexOf multiple times.
- Made TakeStartLine and TakeMessageHeaders a state machine
- Only check length against remaining bytes once
- Change variable names to match TakeStartLine
- Use ReadableBuffer.First.Span instead of ToSpan()
- Added test for missing path with a querystring
2017-02-27 11:55:30 -08:00
David Fowler
5692f51bf7
Revert "Revert "Use Spans to parse the start line and headers ( #1394 )""
...
This reverts commit 19c3107deb .
2017-02-24 10:22:05 -08:00
David Fowler
19c3107deb
Revert "Use Spans to parse the start line and headers ( #1394 )"
...
This reverts commit 8140b8cdfe .
2017-02-24 10:03:32 -08:00
David Fowler
8140b8cdfe
Use Spans to parse the start line and headers ( #1394 )
...
* Use Spans to parse the start line and headers
- Use `Span<byte>` to parse the start line and headers
2017-02-23 23:02:29 -08:00
Stephen Halter
39b536b402
Don't treat canceled reads as end of input
2017-02-23 10:05:53 -08:00
Stephen Halter
7d3bcd2bf8
Avoid unobserved exceptions
...
- Don't throw from AdaptedPipeline.ReadInputAsync
- Watch for unobserved exceptions in SampleApp
2017-02-22 16:12:20 -08:00
David Fowler
ba549502e1
Use the IThreadPool as the ReaderScheduler ( #1372 )
...
- This is what socket input did, also using
ThreadPool.QueueUserWorkItem is better than Task.Run for this
scenario and avoids a bunch of overhead.
2017-02-21 21:09:23 -08:00
Pavel Krymets
824ef2c937
Input Pipeline migration ( #1277 )
2017-02-17 15:38:13 -08:00
Nate McMaster
ec7df544ed
Use latest LTS packages
2017-02-16 13:46:11 -08:00
Nate McMaster
932b6ed53a
Cleanup MSBuild conversion
...
Remove runtimeconfig.template.json
Remove ToolsVersion attribute
Use repo.targets instead of makefile.shade
Rename code gen app to shorter name
Use GetOSPlatform task
Upgrade tests to .NET Framework 4.5.2
Cleanup solution configurations. Set the class libraries to AnyCPU even when on the x86 or x64 solution config.
2017-02-16 09:44:58 -08:00
Nate McMaster
708630fd23
Downgrade to stable packages
2017-02-15 14:22:38 -08:00
Nate McMaster
7298fb23a5
Downgrade to stable packages
2017-02-15 12:30:04 -08:00
Nate McMaster
8051f3671b
Downgrade to stable packages
2017-02-14 16:15:33 -08:00
Nate McMaster
89a63f5885
Downgrade to stable packages
2017-02-14 16:15:28 -08:00
Nate McMaster
0c714cf61b
Downgrade to stable packages
2017-02-14 16:15:27 -08:00
Doug Bunting
8ae481c9f0
Bump test projects up to .NET 4.5.2
...
- aspnet/Testing#248
- xUnit no longer supports .NET 4.5.1
- build tests for desktop .NET only on Windows
- except Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests; will skip that another way (later)
Also fix line endings in project files; unable to proceeed otherwise
2017-02-14 12:30:06 -08:00
Nate McMaster
60a06b2e07
Update README.md
...
[ci skip]
2017-02-14 12:11:39 -08:00
jhkimnew
135aa12529
Remove MAX_PATH buffersize to support long file path ( #69 )
...
This is already reviewed by Pan.
2017-02-10 14:35:51 -08:00
Nate McMaster
5a444fa75c
Cleanup project files and workaround, run tests on .NET Core 1.1
2017-02-10 08:26:17 -08:00
Stephen Halter
e9e0cf7325
Prevent ODE when ReadStart/Stop() is queued after disposal
2017-02-07 00:26:05 -08:00
Stephen Halter
5124adf450
Better report Kestrel crashing errors
2017-02-07 00:26:00 -08:00
Nate McMaster
7019c55219
Fix package path issues
2017-02-03 10:15:28 -08:00
Nate McMaster
330b812c78
Upgrade to VS 2017
2017-02-02 16:25:28 -08:00
John Luo
0e1dd78771
Upgrade to VS 2017
2017-02-02 13:55:14 -08:00
Nate McMaster
81acef9238
Upgrade to VS 2017
2017-02-01 13:24:34 -08:00
Nate McMaster
0668a2a52e
Upgrade to VS 2017
2017-01-31 16:51:24 -08:00
Cesar Blum Silveira
1a2c438899
Upgrade to RC.3
2017-01-31 16:23:23 -08:00
Jass Bagga
48ab68bd2a
Upgrade to msbuild
...
Addresses #57
2017-01-30 15:58:19 -08:00
Kiran Challa
b240929cf4
Merge branch 'rel/1.1.1' into dev
...
Conflicts:
NuGet.config
src/Microsoft.AspNetCore.JsonPatch/project.json
test/Microsoft.AspNetCore.JsonPatch.Test/project.json
2017-01-26 14:02:29 -08:00
Kiran Challa
7a487a880a
[ Fixes #48 ] Regression: List add must support adding items where index is same as count of elements
2017-01-26 13:48:12 -08:00
Ben Adams
ecca980c91
Implement IHeaderDictionary.ContentLength
2017-01-24 14:55:48 -08:00
pan-wang
044648a213
fixing graceful shutdown on Win7 and IISExpress
2017-01-23 15:33:17 -08:00
Ben Adams
cac6ade7c9
Implement Stream Flush+FlushAsync fully
...
Streams should pass through the flush and not assume the underlying
Stream's Flush behaviour
2017-01-23 13:51:57 +00:00
Nate McMaster
fac6b44bbd
Upgrade to RC.3
2017-01-20 11:08:47 -08:00
Stephen Halter
f32058c5c3
Warn instead of throw when ignoring IServerAddressesFeature
...
- Throwing could be too much when IServerAddressesFeature URLs come from VS
- Listen on 127.0.0.1:5000 by default
https://github.com/aspnet/Hosting/issues/917
2017-01-19 11:36:19 -08:00
Stephen Halter
c4762cdfd5
Better handle OnHeartbeat in 32-bit environments
...
- Prevent potential overflow when casting a long to an IntPtr
2017-01-17 16:57:52 -08:00
pan-wang
66b98a1c04
update 502.5 error page
2017-01-17 15:44:15 -08:00
pan-wang
87f808cc9d
fixing the AV for graceful shutdown on Win7, set forwardWindowsAuthToken default to true and other minor issues
2017-01-17 15:44:15 -08:00
Nate McMaster
6e246fa583
Prepare for 1.0.0 release. Pin versions of tools and SDK
2017-01-17 12:06:38 -08:00
Nate McMaster
e481df3d49
Add better errors, fix help output text, and add 'dotnet watch --list' to help us diagnose issues
...
Fixes #252 - help output shown twice in dotnet-watch
Fixes #250 - add dotnet-watch --list. Prints a list of all files discovered
Fixes #249 - better error message when GenerateWatchList fails
2017-01-17 11:43:44 -08:00
Cesar Blum Silveira
89a63d190e
Don't close connection when Content-Length set but no bytes written.
2017-01-12 12:38:15 -08:00
Cesar Blum Silveira
e26f91a392
Call OnStarting before verifying response length ( #1289 ).
2017-01-10 14:24:44 -08:00
John Luo
57b368566d
Use StatusCode instead of three digit numbers for status codes
2017-01-09 10:09:54 -08:00
Cesar Blum Silveira
6d7ddc45ef
Fix deadlock in SocketOutput ( #1278 ).
2017-01-06 20:33:35 -08:00
Stephen Halter
2351c1b558
Create a direct way to configure Kestrel endpoints
...
- Replace endpoint configuration via .UseUrls() or --server.urls with Listen*
methods on KestrelSerrverOptions.
- Replace IConnectionFilter with IConnectionAdapter which no longer exposes
ServerAddress via a context.
- Simplify libuv Listener classes
- Support systemd socket activation
- Add docker-based test for systemd socket activation to be run on Travis
2017-01-06 17:37:58 -08:00
jhkimnew
839437ef8c
Fixing issue #44 ( #56 )
2017-01-06 11:08:43 -08:00
pan-wang
a4963aa6da
fix issue #50 app_offline.htm is case sensitive ( #54 )
2017-01-04 15:57:09 -08:00
Nate McMaster
0f276780de
Remove Microsoft.AspNetCore.DataProtection.Sources package
2017-01-04 15:24:13 -08:00
Kiran Challa
e8452821b9
[ Fixes #50 ] JsonPatchDocument.Replace() yields invalid path when [JsonProperty] is used (1.1.0)
2017-01-03 15:15:01 -08:00
Nate McMaster
cc84b8402d
Fix help text for dotnet-user-secrets-set to show the correct Windows example
2017-01-03 11:16:34 -08:00
Cesar Blum Silveira
b46e48fe01
Merge branch 'yves57/stringvalues-for' into dev
2016-12-28 14:44:46 -08:00
David Rovani
5966024d01
Fixed minor spelling error in comments.
2016-12-23 09:33:39 -06:00
Pranav K
5b8f7c2b2b
Updating to 4.4 CoreFx packages
2016-12-21 22:22:13 -08:00
Cesar Blum Silveira
b41c4078bd
Abort connections not closed during shutdown ( #1112 ).
2016-12-20 14:44:34 -08:00
Pavel Krymets
8b44e8e382
Prevent closure allocations in OnHeartbeat ( #1261 )
2016-12-16 14:42:30 -08:00
Nate McMaster
d55948cae3
React to changes in KoreBuild
2016-12-14 19:30:44 -08:00
Pranav K
4b9276bac2
Updating to 4.4 CoreFx packages
2016-12-14 14:47:32 -08:00
Pranav K
8046dcc0f2
Updating to 4.4 CoreFx packages
2016-12-14 14:47:29 -08:00
Pranav K
f6eb86be78
Updating to 4.4 CoreFx packages
2016-12-14 14:47:29 -08:00
Pranav K
c8c2dfaad9
Updating to 4.4 CoreFx packages
2016-12-14 14:47:29 -08:00
Pranav K
b3afbc79d2
Updating to 4.4 CoreFx packages
2016-12-14 14:47:27 -08:00
Nate McMaster
fd632ec654
Cleanup msbuild layout
...
Use one props file for whole repo, avoiding layers of dir.props
2016-12-14 09:13:00 -08:00
Cesar Blum Silveira
cedbe76f52
Abort request on client FIN ( #1139 ).
2016-12-13 12:03:33 -08:00
Nate McMaster
08e3e0b77f
Cleanup dotnet-watch testing
2016-12-13 09:59:11 -08:00
Nate McMaster
44c8920412
Add RepositoryUrl and RepositoryType properties
2016-12-12 17:40:07 -08:00
Nate McMaster
346dfe8fe0
Remove dependency on Microsoft.DotNet.Cli.Utils from test project
2016-12-12 16:40:01 -08:00
Nate McMaster
67c540051b
Update README.md
2016-12-12 16:24:15 -08:00
Nate McMaster
d4313dae3b
Use props from Korebuild
2016-12-12 16:21:18 -08:00
Nate McMaster
902ff8dce3
Build with MSBuild
2016-12-12 15:55:00 -08:00
Cesar Blum Silveira
defcbdb907
Revert "Add MaxRequestBodySize limit ( #478 )."
...
This reverts commit e53a87be9c .
2016-12-09 16:30:12 -08:00
John Luo
859816bb53
Update ParseContentLength to remove unnecessary casting and unsafe
2016-12-09 11:39:25 -08:00
John Luo
4da06e8acd
Move Int64 parsing logic to HttpAbstractions
2016-12-08 17:22:21 -08:00
Nate McMaster
d48f2abc7c
Use MSBuild project extensions instead of importing the users project
...
Implicit imports prevents using <Import> on a project file that has the Sdk attribute. This change instead generates a file in the MSBuildProjectExtensionsPath to inject targets require to find the UserSecretsId property in a project.
Resolves #242
2016-12-08 09:55:22 -08:00
Nate McMaster
f277816556
Update packaging for tools
...
Move targets files in to 'toolassets'. The 'tools' folder has conventions in NuGet that we don't want applied to these packages.
Downgrade to Microsoft.NETCore.App 1.0.0
Add 'prefercliruntime' package.
2016-12-07 09:37:34 -08:00
Cesar Blum Silveira
e53a87be9c
Add MaxRequestBodySize limit ( #478 ).
2016-12-05 17:06:57 -08:00
Nate McMaster
17da5242e0
Create console reporter API
...
The reporter API breaks down complex formatter in to composable compontents. Adds 'ReporterBuilder' and 'FormatterBuilder' as syntax sugar for creating reporters with complex formatting rules
Changes in dotnet-watch
- Remove dependency on Microsoft.Extensions.Logging and instead use IReporter for console output
- Only use color output when stdout and stderr are not being redirected
- Make the default output less noisy
Changes in dotnet-user-secrets
- Remove dependency on Microsoft.Extensions.Logging to use IReporter
Changes in dotnet-sql-cache
- Remove dependency on Microsoft.Extensions.Logging to use IReporter
- Add --verbose option
2016-11-30 14:51:08 -08:00
Yves57
dbaa01830b
Replace 'foreach' by 'for' in StringValues (faster)
2016-11-29 22:33:18 +01:00
Cesar Blum Silveira
f918279873
Merge branch 'khellang/proxy-authenticate-typo' into dev
2016-11-29 10:32:16 -08:00
Chris R
53e5c3d56c
#1001 don't log stack traces for localhost bind failures.
2016-11-28 16:35:14 -08:00
Kristian Hellang
e316898c9f
Added missing copyright header
2016-11-23 09:17:03 +01:00
Nate McMaster
e0f85971a3
Add --version options to dotnet-watch and dotnet-sql-cache
2016-11-22 17:15:21 -08:00
Pavel Krymets
e55c62444b
Refactor FrameTests and rename SocketInput SocketOutput properties ( #1229 )
2016-11-22 16:36:36 -08:00
Ben Adams
2bf5a966cd
Fast path and inline HttpVersion.set
2016-11-22 15:26:38 -08:00
Kristian Hellang
a0f5585d3f
Fixed typo; Proxy-Authenticate #1223
2016-11-22 13:08:17 +01:00
Nate McMaster
4a64ef857c
Remove dependency on Microsoft.DotNet.Cli.Utils from dotnet-user-secrets
2016-11-21 19:14:36 -08:00
Ben Adams
2eba4017c1
MemoryPoolIterator feedback
2016-11-21 22:48:58 +00:00
Ben Adams
ef5ad3deea
defaullt(MemoryPoolIterator) test coverage
2016-11-21 22:48:58 +00:00
Ben Adams
2011a27bde
Use ternary op rather than lazy and
2016-11-21 22:48:57 +00:00
Ben Adams
8ce47fb8b6
Move perf, share code
2016-11-21 22:48:57 +00:00
Ben Adams
5041d6c291
wasLastBlock adjustments
2016-11-21 22:48:57 +00:00
Ben Adams
7ab4442392
Feedback + Cleanup
2016-11-21 22:48:57 +00:00
Ben Adams
4cdcca212e
Don't inline slow paths
2016-11-21 22:48:57 +00:00
Ben Adams
12e2f30577
MemoryPoolIterator byref structs
2016-11-21 22:48:57 +00:00
Ben Adams
53f361160e
MemoryPoolIterator fast paths
2016-11-21 22:48:57 +00:00
Ben Adams
8bcbfb9971
Only LocateFirstFoundByte once
2016-11-21 22:48:57 +00:00
Ben Adams
28a21fa7a9
Move vectors closer to use
2016-11-21 22:48:57 +00:00
Ben Adams
00a63537cf
And=> xor, powerOfTwoToHighByte to const
2016-11-21 22:48:57 +00:00
Ben Adams
97d4406614
Use Vector<byte>.ctor workaround
2016-11-21 22:48:57 +00:00
Ben Adams
972d978d11
Swap for vector loop unroll detection
2016-11-21 22:48:57 +00:00
Ben Adams
9eb01d1c57
Reduce Vector register pressure by not overlapping
2016-11-21 22:48:57 +00:00
Ben Adams
4f7977d440
Use PowerOfTwoToHighByte for FindFirstEqualByte
2016-11-21 22:48:57 +00:00
Nate McMaster
40d4670463
Abstract the console
2016-11-21 11:08:56 -08:00
Pranav K
4faf89030c
Pinning versions for 1.1.0 release
2016-11-18 12:12:17 -08:00
Nate McMaster
33597c7011
Merge branch 'rel/1.0.0-msbuild2' into feature/msbuild
2016-11-17 15:44:32 -08:00
Nate McMaster
c8870a80a7
Remove Microsoft.DotNet.Cli.Utils from nuspec
2016-11-17 15:43:52 -08:00
Nate McMaster
a0e07744c0
Pin versions
2016-11-17 14:13:21 -08:00
Nate McMaster
b6b4523993
Remove dependency on Microsoft.DotNet.Cli.Utils
2016-11-17 13:37:58 -08:00
Nate McMaster
2a0e827f9b
Update dependency version and explicitly require files in nuspec
2016-11-16 15:36:47 -08:00
Nate McMaster
15a877e7fb
Merge branch 'rel/1.0.0-msbuild1-update1' into feature/msbuild
2016-11-16 15:33:50 -08:00
Nate McMaster
ac5a9b7b73
Pin versions
2016-11-16 15:27:33 -08:00
Nate McMaster
e2c4e36d78
Ensure .targets files are included in dotnet-watch
2016-11-16 15:25:31 -08:00
Stephen Halter
0c26fc9f41
Merge branch 'rel/1.1.0' into dev
2016-11-11 15:16:48 -08:00
Stephen Halter
f1d0fafaa4
Better filter clients connecting to Kestrel's dispatch pipes
2016-11-11 14:57:17 -08:00
Stephen Halter
4a1db74568
Merge branch 'rel/1.1.0' into dev
2016-11-09 14:29:31 -08:00
Stephen Halter
e780ad9516
Ensure clients connecting to Kestrel's dispatch pipe are listeners
2016-11-09 14:26:47 -08:00
Pranav K
7f6410bc55
Updating versions to 1.2.0-*
2016-11-09 14:20:20 -08:00
Pranav K
9d081d17e5
Updating versions to 1.2.0-*
2016-11-09 14:18:16 -08:00
Pranav K
6ee6220e06
Updating versions to 1.2.0-*
2016-11-09 14:18:11 -08:00
Pranav K
97d7bf7468
Updating versions to 1.2.0-*
2016-11-09 14:18:06 -08:00
Pranav K
9cdb55b59c
Updating versions to 1.2.0-*
2016-11-09 14:17:51 -08:00
Pranav K
8e4ab2c6ff
Updating versions to 1.2.0-*
2016-11-09 14:17:00 -08:00
Stephen Halter
757952d4d3
Always flush headers on first response write ( #1202 ).
2016-11-09 14:02:50 -08:00
Stephen Halter
c0e75dcbf8
Always flush headers on first response write ( #1202 ).
2016-11-09 13:59:12 -08:00
Cyprien Autexier
fe2453b93a
Escaping support for JSON pointers
2016-11-07 22:11:22 -08:00
Nate McMaster
363ddf73a6
Pin versions
2016-11-07 09:57:56 -08:00
Nate McMaster
349980c89e
Add DOTNET_USE_POLLING_FILE_WATCHER to help output
2016-11-07 09:46:39 -08:00
Nate McMaster
c84bdb35d3
dotnet-watch: add extended help to clarify usage ( #218 )
2016-11-07 09:46:31 -08:00
Ajay Bhargav Baaskaran
34f419f446
Added tags to project.json
2016-11-05 00:09:47 -07:00
Stephen Halter
194059a198
Implement Begin/End Read/Write methods in LoggingStream
...
- This allows the reads and writes from SslStream to be logged on desktop .NET
2016-11-04 21:38:57 -07:00
Stephen Halter
0d559468f1
Make connection reset logs less scary
...
- Particularly between requests, connection resets aren't that abnormal.
2016-11-04 21:36:51 -07:00
Cesar Blum Silveira
a83bbcfba7
Prevent block leak when socket is closed before connection filter is applied.
2016-11-04 20:56:01 -07:00
Cesar Blum Silveira
a1c598733b
Reject POST and PUT requests with no Content-Length or Transfer-Encoding ( #1130 ).
2016-11-04 18:04:27 -07:00
jacalvar
ed98894c93
Created public API baselines
2016-11-04 17:16:22 -07:00
jacalvar
373097e0dd
Created public API baselines
2016-11-04 17:05:30 -07:00
Stephen Halter
6cbbb73ca7
Protect against NullReferenceException in Frame.StopStreams()
2016-11-04 16:01:07 -07:00
Stephen Halter
b3aca0413c
Avoid zero-length writes to flush connection filter stream
...
- This works around a zero-length write bug in SslStream.
- We already assume connection filter streams auto flush.
#1195
2016-11-04 15:43:35 -07:00
jacalvar
80cdeceb0b
Created public API baselines
2016-11-04 15:28:08 -07:00
jacalvar
7c6583986c
Created public API baselines
2016-11-04 13:06:13 -07:00
Nate McMaster
5de082e687
Upgrade Microsoft.DotNet.Cli.Utils from preview2 to preview3
2016-11-04 10:18:46 -07:00
Kiran Challa
81931e75d4
Handle exceptions for invalid operation types
...
Related to https://github.com/aspnet/Mvc/issues/5463
2016-11-03 14:43:35 -07:00
Nate McMaster
ca70ef0b34
Change version to msbuild1
2016-11-03 12:09:19 -07:00
Andrew Stanton-Nurse
5858c0a64a
fix #85 by making HandshakeHelpers internal and tidying doc comments
...
we don't need to share it with anything in the current implementation
2016-11-03 10:27:15 -07:00
Pranav K
0dcfa2a3fd
Updating to Libuv 1.9.1
2016-11-03 10:08:01 -07:00
Andrew Stanton-Nurse
f58a373704
fix #106 by removing ReplaceFeature
2016-11-02 15:58:17 -07:00
Nate McMaster
3b0947b4af
Add workaround for bug in Configuration 1.0.1
2016-11-02 13:46:23 -07:00
Nate McMaster
54031fb399
Downgrade to 1.0.1
2016-11-02 13:41:59 -07:00
Nate McMaster
b4027529a7
Bundle deps.json files in tools packages
2016-11-02 10:38:39 -07:00
Nate McMaster
975e22ad06
Drop tools back to Microsoft.NETCore.App 1.0.1
2016-11-02 09:42:17 -07:00
Nate McMaster
7afad9102f
Update dotnet-watch README.md
2016-11-01 18:41:58 -07:00
Nate McMaster
4698985846
Port dotnet-watch to support MSBuild
2016-11-01 18:39:51 -07:00
Nate McMaster
29df59b89c
Create initial prototype of dotnet-user-secrets with MSBuild support
2016-11-01 18:39:51 -07:00
Scott Hanselman
9744f94b39
Update README for dotnet-watch to specify which version to install ( #210 )
2016-11-01 18:39:14 -07:00
Ben Adams
2adb6ff955
Interlocked.Read -> Volatile.Read
2016-11-01 18:06:00 -04:00
Nate McMaster
a0e164f379
dotnet-user-secrets: add support for json output and piping json input
2016-10-31 14:15:52 -07:00
Cesar Blum Silveira
29408956f9
Handle tokens in Transfer-Encoding header ( #1181 ).
2016-10-31 13:57:34 -07:00
pan-wang
4569d6d6d5
fix issue #26 AspNetCoreModule needs to abort failed responses ( #34 )
2016-10-31 13:03:13 -07:00
Andrew Stanton-Nurse
303f9ea2de
update version to prepare for 1.1 release ( #125 )
...
* update version to prepare for 1.1 release
* update projects that reference WebSockets
2016-10-29 12:45:38 -07:00
Stephen Halter
5e97c63467
Throw PlatformNotSupportedException on big-endian platforms
2016-10-28 14:51:55 -07:00
Stephen Halter
d475d41f71
Fix boundary cases in MemoryPoolIterator.(Try)PeekLong()
...
- Fix edge case where the iterator is at the very end of a block.
- Fix edge case where one bits where improperly filled in on a right shift.
- Don't use -1 to represent failure. Use bool and an out parameter instead.
2016-10-28 14:51:47 -07:00
Cesar Blum Silveira
1ffad5ca38
Handle multiple tokens in Connection header ( #1170 ).
2016-10-27 12:19:43 -07:00
Sourabh Shirhatti
df997dcb3e
Update LICENSE information
2016-10-26 14:08:58 -07:00
pan-wang
ef19455912
sync up the code with IIS OOB branch ( #21 )
2016-10-26 13:44:02 -07:00
Cesar Blum Silveira
d64b4c7acb
Control-flow simplification in Frame.CreateResponseHeader() ( #1168 ).
2016-10-24 11:07:06 -07:00
Nathan Anderson
610601cc6e
test fixes and whitespace changes to generated code
2016-10-20 15:23:03 -07:00
Nathan Anderson
11ed34f229
add header ordering and short circuits to known headers
...
refactor known header changes
- create template string from Append switch
- add a check to ClearFast to bail out if too many headers are set
2016-10-19 15:49:01 -07:00
Cesar Blum Silveira
fff0adeaaf
Faster response Content-Length parsing.
2016-10-18 15:57:40 -07:00
Nate McMaster
c7ff19c285
Remove Microsoft.Extensions.ProjectModel
...
Resolves #182
2016-10-18 09:45:09 -07:00
Cesar Blum Silveira
78584799a4
Separate request rejection from bad request state setting.
2016-10-17 15:16:50 -07:00
Mike Harder
f1071dea50
Set StatusCode before disposing HttpContext ( #876 )
2016-10-17 15:16:43 -07:00
Nate McMaster
721cbe3435
Refactor dotnet-watch to isolate project.json dependency
2016-10-17 12:06:19 -07:00
Doug Bunting
0781b5a87c
Add `HtmlContentBuilder.Count`
...
- precursor to PR aspnet/Mvc#5378 for issue aspnet/Mvc#3918
2016-10-17 11:26:16 -07:00
Pranav K
7d1f5f9818
Remove build quality pinning
2016-10-14 10:08:10 -07:00
Nate McMaster
4cbd904154
dotnet-watch: add --verbose and --quiet command line flags
2016-10-13 16:22:53 -07:00
Pranav K
f8a1a66ab7
Revert "Updating to netcoreapp1.1"
...
This reverts commit fd6df3c74d .
2016-10-12 16:39:36 -07:00
Pranav K
fd6df3c74d
Updating to netcoreapp1.1
2016-10-12 13:45:08 -07:00
Prafull Bhosale
8fb38d3637
Add Project References to ProjectContext
2016-10-12 13:40:52 -07:00
Cesar Blum Silveira
bf94f8526a
Remove TCP Loopback Fast Path code ( #1147 ).
2016-10-12 11:41:57 -07:00
Cesar Blum Silveira
ffc3eb3afd
HEAD response can include Content-Length header.
2016-10-12 11:38:18 -07:00
Prafull Bhosale
1ae83eff70
Handle compilerOptions in project.json
2016-10-12 09:58:11 -07:00
Pavel Krymets
8d8e1ee8dc
Avoid calling User.Identity.AuthenticationType ( #282 )
2016-10-12 09:54:11 -07:00
Prafull Bhosale
329b65fc69
Add AssemblyName to ProjectContext
2016-10-12 09:10:35 -07:00
Stephen Halter
ce6e65b1d7
Don't take SocketOutput's _contextLock to return written blocks
2016-10-11 16:39:13 -07:00
Cesar Blum Silveira
a15b1e2805
Update cached Content-Length when setting raw header.
2016-10-11 13:55:05 -07:00
Cesar Blum Silveira
f8813a600d
Handle response content length mismatches ( #175 ).
2016-10-11 13:25:22 -07:00
Cesar Blum Silveira
6c2532682a
Merge branch 'benaadams/callstack' into dev
2016-10-10 14:42:22 -07:00
Nate McMaster
78e35d3c6f
Split ProjectModel into separate packages ( #188 )
2016-10-10 13:11:31 -07:00
Prafull Bhosale
f7932b57a6
Add Dependency Resolution Apis to ProjectContext Abstractions
2016-10-10 11:33:49 -07:00
Nate McMaster
c20b9ae894
Add PackageLockFile to IProjectContext ( #187 )
2016-10-10 11:30:12 -07:00
Cesar Blum Silveira
3177ba0aae
Wait for frame loop completion to dispose connection stream ( #1156 ).
2016-10-10 10:16:03 -07:00
Ben Adams
adc3e63ecc
Improve callstack for LoggingThreadPool
2016-10-08 05:14:00 +01:00
Kiran Challa
3b7f9b4043
Fixed version of System.Reflection.TypeExtensions package
2016-10-07 11:28:07 -07:00
Kiran Challa
393c25988a
[ Fixes #33 ] Dictionary operations fail due to contract issues
2016-10-06 15:43:42 -07:00
Nate McMaster
f9412e7707
Remove unnecessary workaround. Resolves #165 .
2016-10-06 13:37:33 -07:00
Nate McMaster
92a8d6d3bd
Add API for multi-tfm projects ( #184 )
...
Project builder supports auto-detecting the framework
2016-10-06 13:03:05 -07:00
N. Taylor Mullen
4214884b3e
Fix xml doc warning.
2016-10-06 12:38:30 -07:00
Kristian Hellang
03f8a7a217
Use HeaderUtilities.FormatDate in DateHeaderValueManager ( #1132 )
2016-10-06 11:56:49 -07:00
Nate McMaster
dde022961c
Add MSBuildProjectFinder and update ProjectModel to handle latest MSBuild updates
2016-10-05 15:17:18 -07:00
Cesar Blum Silveira
2c94884da9
Include address in error message when address already in use ( #1086 ).
2016-10-05 14:23:09 -07:00
Nate McMaster
40ff75d536
Create replacement API for Microsoft.DotNet.ProjectModel
2016-10-04 15:49:32 -07:00
pan-wang
64ab88fa66
fix build warning ( #18 )
2016-10-04 13:51:48 -07:00
Pavel Krymets
6eacfd2679
Rename Azure.Storage to AzureStorage ( #183 )
2016-10-04 11:51:50 -07:00
Pranav K
91497621c9
Updating partner package versions
2016-10-03 19:59:39 -07:00
Cesar Blum Silveira
a2439105ae
Refactor request line validation and error reporting ( #1116 ).
2016-10-03 16:54:51 -07:00
Cesar Blum Silveira
4117ad8a1e
Refactor non-body response handling.
...
- Add functional tests
- Remove BadHttpResponse, ResponseRejectionReasons and TestFrameProtectedMembers
- Chunk non-keepalive HTTP/1.1 responses
- Set _canHaveBody to true when StatusCode == 101
- Add test to check that upgraded connections are always closed when the app
is done
- Log writes on responses to HEAD requests only once.
2016-10-03 16:46:59 -07:00
Ben Adams
e7e6b896ba
Don't emit TE header or body for non-body responses
2016-10-03 15:54:14 -07:00
pan-wang
b9fda49649
allowing flow app_offline to remote client ( #17 )
2016-10-03 14:49:16 -07:00
Pranav K
35cae5da7d
Updating partner package versions
2016-10-03 14:28:45 -07:00
Pranav K
f1c53378c3
Updating partner package versions
2016-10-03 14:23:59 -07:00
Cesar Blum Silveira
e8fa40235b
Remove unused variable in MemoryPoolIterator.Seek() ( #1137 ).
2016-10-03 14:22:10 -07:00
Pranav K
4647a8a4bd
Updating partner package versions
2016-10-03 12:21:25 -07:00
Pranav K
3d3d6a3fba
Updating partner package versions
2016-10-03 12:06:50 -07:00
Pavel Krymets
89c39a6c28
Update StackExchange.Redis.StrongName ( #182 )
2016-10-03 10:59:04 -07:00
Martin Andreas Ullrich
b8471455a7
Fix NuGet project description ASP.NET 5 > Core ( #120 )
...
changed leftover "ASP.NET 5" in project.json description to "ASP.NET Core"
2016-10-03 09:56:14 -07:00
Nate McMaster
3b1f650d3b
Add custom tool for packaging as "CLI" package types.
...
Resolves #157
2016-09-30 14:48:02 -07:00
Chris R
3181c3f2e3
Only challenge if not already accepted.
2016-09-29 17:15:30 -07:00
Pavel Krymets
7a3fd8af33
Rename DataProtection.Azure.Blob to DataProtection.Azure.Storage ( #180 )
2016-09-29 15:23:42 -07:00
Mikael Mengistu
12adc7de9d
Refactored to use the fields from the HttpMethods class
...
* Reacting to PR comments
2016-09-29 12:19:26 -07:00
Pavel Krymets
e4cf12017b
Make UseIISIntegration idempotent ( #274 )
2016-09-29 09:43:03 -07:00
Ben Adams
310411075f
Slimmer locks
2016-09-28 15:33:34 -07:00
Cesar Blum Silveira
09fda749b0
Don't reset frame state when connection is aborted ( #1103 ).
2016-09-28 15:06:22 -07:00
Cesar Blum Silveira
73656f6503
Assume zero length on non-keepalive requests without Content-Length or Transfer-Encoding ( #1104 ).
2016-09-28 12:30:53 -07:00
Pranav K
9e8aee2478
Updating partner package versions
2016-09-28 11:51:01 -07:00
Pranav K
c13a8affc0
Updating partner package versions
2016-09-28 11:50:43 -07:00
Kevin Dockx
c88aa0042a
Fix for issue #29 (Honor JsonProperty when serializing a JsonPatchDocument) ( #35 )
...
* Fix for issue #29 (Honor JsonProperty when serializing a JsonPatchDocument)
2016-09-28 09:37:21 -07:00
Cesar Blum Silveira
0312da7df3
Add request headers timeout ( #1110 ).
2016-09-27 17:08:02 -07:00
Stephen Halter
7b2f7b94ab
Return last block from SocketOutput when data is fully written
...
- This reduces Kestrel's memory usage for idle connections.
2016-09-27 15:57:45 -07:00
Stephen Halter
0edf36bd21
Return last block from SocketInput when data is fully consumed
...
- This reduces Kestrel's memory usage for idle connections.
2016-09-27 15:57:45 -07:00
Cesar Blum Silveira
375e8b7022
Change context relationships from inheritance to composition.
2016-09-27 11:53:06 -07:00
Sourabh Shirhatti
cfd963c484
Merge branch 'shirhatti/nuget' into dev
2016-09-26 17:28:55 -07:00
Sourabh Shirhatti
d245ded51d
Produce fake nupkg for testing
2016-09-26 17:08:07 -07:00
Nate McMaster
61dc862e4d
Merge Microsoft.DotNet.Watcher{.Core} into {.Tools}
...
History: in the days of DNX, there was a plan to share code between dnx-watch and Visual Studio tooling to watch the system. We split the package into two pieces with this intention. Since then, dotnet-cli has replaced DNX and MSBuild will replace project.json. The shared watch code isn't necessary, nor is it an API we want to support.
2016-09-26 12:04:12 -07:00
Nate McMaster
f90594a647
Add support for '--' argument separator
...
Also refactors command line parsing into a separate class.
2016-09-26 10:19:43 -07:00
David Fowler
78c859d7ea
Turn on warnings as errors
2016-09-25 12:25:12 -07:00
David Fowler
67930753df
Merge pull request #1123 from svick/sockaddr-sequential
...
Specify sequential layout to avoid warning
2016-09-25 10:49:10 -07:00
Petr Onderka
782f96572d
Specify sequential layout to avoid warning
2016-09-25 18:13:42 +02:00
pan-wang
191e14b276
fix build warning and a memory leak
2016-09-23 10:59:40 -07:00
Cesar Blum Silveira
49ff98f8cb
More specific response status codes for errors ( #653 ).
...
- 414 when request line exceeds size limit
- 431 when request headers exceed size or count limits
- 505 when request line contains unsupported HTTP version
2016-09-22 12:13:14 -07:00
Sourabh Shirhatti
c6b3bb1243
Change output directory to work with KoreBuild
2016-09-21 17:21:37 -07:00
Pranav K
3e62285de5
Making build use Sake
2016-09-21 17:21:36 -07:00
Sourabh Shirhatti
0327e3b993
Change output directory to work with KoreBuild
2016-09-21 15:02:10 -07:00
Pranav K
210686a405
Making build use Sake
2016-09-20 17:50:54 -07:00
Sourabh Shirhatti
21b683b733
MC wasn't getting invoked for release builds
2016-09-20 16:57:03 -07:00
Sourabh Shirhatti
f558c5de99
Update the filewatcher
...
Add a reference counter to avoid AV in case web.config was changed
2016-09-20 15:47:50 -07:00
Nate McMaster
11bbd6df8e
Support relative paths to projects.
...
Resolve #170
2016-09-20 14:30:37 -07:00
Nate McMaster
7bafb00f05
Improve error message when project file does not exist.
...
Resolve #171
2016-09-20 14:30:37 -07:00
Stephen Halter
63509b9e10
Make FrameRequestStream.CopyToAsync(...) copyless
...
- Add tests for when the CopyToAsync destinationStream throws.
- Add test to verify the destination stream sees the same array written to by
the producer.
2016-09-20 11:54:58 -07:00
Nate McMaster
fb54566ff5
Add dotnet-sql-cache
2016-09-19 17:09:21 -07:00
Nate McMaster
8f2eccbd36
Move dotnet-user-secrets into current repo
2016-09-19 14:35:41 -07:00
Cesar Blum Silveira
1a273f5a34
Improve keep-alive timeout.
...
- Track time more accurately
- Control timeout in Connection instead of Frame
2016-09-14 20:57:16 -07:00
Stephen Halter
2fbf0c6281
Merge branch 'DamirAinullin/single-initialize' into dev
2016-09-12 10:34:35 -07:00
Cesar Blum Silveira
8c513402a3
Always call ConsumingComplete() with furthest examined position ( #1095 ).
2016-09-10 20:05:14 -07:00
Pavel Krymets
c777a9efea
Use TaskCache class from Microsoft.Extensions.TaskCache.Sources ( #1089 )
...
Instead of Task.FromResult(0)
2016-09-09 15:57:33 -07:00
Nate McMaster
bbffd97633
⬆️ Bump tool on dev branch to 'preview4' and re-up dependencies to latest dev versions
2016-09-09 10:14:52 -07:00
Nate McMaster
bf5d2f5dff
Revert deletion of makefile.shade from e0663483ed
2016-09-09 09:01:36 -07:00
Nate McMaster
359faf7e51
Remove Microsoft.AspNetCore.Server.IISIntegration.Tools
2016-09-08 15:58:30 -07:00
Nate McMaster
e0663483ed
Downgrade to 1.0.0 runtime dependencies
2016-09-08 15:47:15 -07:00
Pavel Krymets
50f066579a
Use TaskCache class from Microsoft.Extensions.TaskCache.Sources ( #257 )
...
Instead of Task.FromResult(0)
2016-09-08 08:46:31 -07:00
DamirAinullin
0491b49268
Remove double initializing of variable _field3
2016-09-07 14:23:06 +03:00
Pavel Krymets
7dcbb27b6f
Updated Redis repository project to support .NET Core ( #175 )
2016-09-06 14:10:13 -07:00
Cesar Blum Silveira
f2085b1968
Add keep-alive timeout ( #464 ).
2016-09-06 12:48:47 -07:00
Cesar Blum Silveira
19f8958fa8
Move TestServer to shared directory.
2016-09-06 12:47:24 -07:00
Pavel Krymets
0e210dadea
Port DataProtection blob XmlRepository ( #163 )
2016-09-06 08:09:13 -07:00
Pavel Krymets
8f8152f910
Fix build error
2016-09-02 16:16:41 -07:00
Andrew Stanton-Nurse
b996ee39a4
port dotnet/corefx#11348 ( #114 )
...
also adds some tests and extra features to the EchoApp test sample
2016-09-02 14:02:06 -07:00
Pavel Krymets
b340b0f0f7
Add Redis IXmlRepository implementation ( #173 )
2016-09-02 11:56:47 -07:00
David Fowler
6795ca2f78
Make the char array for utf8 decoding smaller
2016-08-31 18:54:15 -07:00
Victor Hurdugaci
ac2f21514f
Add a flag to specify the log level
2016-08-31 11:48:02 -07:00
Stephen Halter
1ecef8094a
Make Kestrel's response buffer limit configurable
2016-08-30 16:01:42 -07:00
Stephen Halter
acfcafb6e1
Ensure MockLibuv.OnPostTask doesn't complete too early
2016-08-29 20:53:00 -07:00
Stephen Halter
0742d113be
Make all calls to ThreadPool.QueueUserWorkItem through IThreadPool
...
- This allows SocketOutputTests to cause QUWI to exec synchronously
- To avoid allocations, the logger can't be captured making it "unsafe"
2016-08-29 20:52:47 -07:00
Stephen Halter
08d7f66108
Merge branch 'benaadams/less-unsafe' into dev
2016-08-26 14:44:18 -07:00
Sourabh Shirhatti
dff0db80ca
Initial upload
2016-08-25 12:23:56 -07:00
Ben Adams
be51e5aecb
Remove unneeded unsafe modifiers
2016-08-25 08:07:15 +01:00
Ben Adams
7dc0a8c7bd
Return count from trywrite
2016-08-25 07:58:36 +01:00
Ben Adams
af73e519c1
Comment inlinability changes
2016-08-25 07:53:01 +01:00
Ben Adams
40636998d7
Improve inlinability of libuv success checking
2016-08-21 13:48:35 +01:00
Andrew Stanton-Nurse
c51aec5292
port dotnet/corefx#10792 ( #111 )
...
* port dotnet/corefx#10792
* add EchoApp sample
2016-08-19 15:22:20 -07:00
Stephen Halter
7bd30ea693
Log all startup errors in KestrelServer
2016-08-18 14:52:26 -07:00
Stephen Halter
972be6e8c1
Disable automatic chunking for all non keep-alive requests
...
- Fixes a bug where Upgrade requests (e.g. WebSockets) would be chunked
- Allows chunking to be disabled by setting "Connection: close" on the response
2016-08-17 12:39:18 -07:00
John Luo
2f397d6f63
Switch to UsePathBase instead of relying on Kestrel feature #236
2016-08-16 20:20:55 -07:00
Chris R
e94db64619
#242 Delay registering the url until Build.
2016-08-15 17:43:29 -07:00
Stephen Halter
16fbb94c44
Automatically chunk and set 0 Content-Length for non keep-alive responses
2016-08-15 16:27:54 -07:00
Stephen Halter
5f4e60bf8d
Always set "Connection: close" header for non keep-alive responses
2016-08-15 16:27:54 -07:00
Cesar Blum Silveira
08a91f17bf
Call OnStarting and OnCompleted callbacks in LIFO order ( #1042 ).
2016-08-10 14:52:05 -07:00
Cesar Blum Silveira
08f98f4790
Add header limit options ( #475 ).
2016-08-09 12:31:39 -07:00
Cesar Blum Silveira
a5aacd6307
Throw when setting OnStarting after response has already started ( #806 ).
2016-08-08 11:38:06 -07:00
Cesar Blum Silveira
140dc6fcf5
Add obsoletion reason for KestrelServerOptions.MaxRequestBufferSize.
2016-08-04 10:46:42 -07:00
Andrew Stanton-Nurse
33e3e5b186
remove our WebSocket client
...
we'll use the one from dotnet/corefx now instead
fixes #108
2016-08-04 10:30:13 -07:00
Stephen Halter
9727a4db86
Improve the performance of connection filters
...
- Buffer connection filter input less by using ProducingStart/Complete
- Simplify FilteredStreamAdapter
2016-08-03 16:45:39 -07:00
Stephen Halter
5aee524768
Ensure Begin/End Read/Write methods are correctly implemented
...
- Add Begin/End Write methods to FrameResponseStream
- Fix state check of Begin/End Read methods in FrameRequestStream
2016-08-03 16:45:39 -07:00
Stephen Halter
4337d2a4a7
Implement Begin/End Read/Write methods in LibuvStream
2016-08-03 16:45:39 -07:00
Cesar Blum Silveira
8836eec7d8
Limit request line length ( #784 ).
2016-08-03 15:39:16 -07:00
Stephen Halter
dfe12223b8
Ensure HTTPS handshake errors aren't logged on socket close
2016-08-03 15:21:57 -07:00
Stephen Halter
1020d69171
Better logging for connection errors during HTTPS handshake
2016-08-03 11:15:15 -07:00
Andrew Stanton-Nurse
45f0fe178f
import WebSockets code from CoreFX ( #105 )
...
* import WebSockets code from CoreFX
* sync pr feedback from dotnet/corefx#10510
2016-08-03 11:07:01 -07:00
Mike Harder
4ece3f4b68
Change "String." to "string." to match coding convention
2016-08-01 11:09:31 -07:00
Ajay Bhargav Baaskaran
1ad5d0e317
var cleanup
2016-07-28 17:29:06 -07:00
Ajay Bhargav Baaskaran
3733b53700
Removed unnecessary methods in DataProtectionServiceDescriptors
2016-07-28 17:17:27 -07:00
Stephen Halter
00a540dcb8
Merge branch 'benaadams/more-block-collect-info' into dev
2016-07-28 16:51:35 -07:00
Cesar Blum Silveira
2244f190e1
Merge branch 'benaadams/exceptions' into dev
2016-07-25 10:31:32 -07:00
Stephen Halter
3a67cb9df5
Merge branch 'benaadams/enum-rather-than-string' into dev
2016-07-25 10:30:33 -07:00
Stephen Halter
b5c117695e
Stop KestrelThreads in parallel
2016-07-25 10:29:01 -07:00
Stephen Halter
dc12f3150e
Wait for graceful shutdown now that it usually works
...
- Unreference the async handle to allow the loop to stop without walking first
- Wait before walking open handles to allow earlier uv_close calls to complete
2016-07-25 10:29:01 -07:00
Ben Adams
51288e13f8
Enum to singular
2016-07-22 22:25:03 +01:00
Ben Adams
0a1ea124ee
Use HttpVersionType enum rather than string compare
2016-07-22 21:34:49 +01:00
Ben Adams
0620ce5a2f
Consolidate BadHttpRequestException messages
2016-07-22 21:19:44 +01:00
Ben Adams
7c811ff568
Only allocate key string when unknown
2016-07-22 20:50:43 +01:00
Stephen Halter
27f8c8dca2
Ensure libuv handles get disposed properly after binding errors
2016-07-22 12:26:27 -07:00
David Fowler
0e7967a7fc
Allocate things per KestrelThread instead of per listener
...
- Moved things that have loop affinity to KestrelThread like
WriteReqPool, MemoryPool and the ConnectionManager
- Changed on the listeners to only kill the ListenSocket, not the
connections on dispose
- Moved connection disposal to KestrelThread.Stop
- Simplify the connection manager logic so it's possible to walk and
wait in a single call
2016-07-21 22:17:18 -07:00
Stephen Halter
24fa5c0264
Merge pull request #938 from NVentimiglia/dev
...
As an American, I had to correct the spelling of 'independent'
2016-07-21 17:17:47 -07:00
Cesar Blum Silveira
3c0e0f8d88
Always throw same exception type on read after connection error ( #975 ).
2016-07-21 16:33:56 -07:00
Pavel Krymets
6bcf7643df
Do not allocate large write task queues ( #1005 )
2016-07-21 16:05:50 -07:00
Pavel Krymets
7b7e2889ce
Allocate less in GetIPEndPoint ( #1004 )
2016-07-21 12:17:55 -07:00
Ben Adams
f42316af7f
Remove Environment.StackTrace as crashing tests
2016-07-21 01:44:23 +01:00
Ben Adams
aa385a1317
Use Environment.NewLine and Environment.StackTrace
2016-07-21 01:13:27 +01:00
Ben Adams
7b8abf5a3e
Improved Memoryblock tracking
...
Also fixed 3 tests that weren't handling block properly
2016-07-21 01:13:27 +01:00
David Fowler
3078f4914c
Removed unneeded things from Connection
2016-07-18 22:19:45 -07:00
David Fowler
8399910a6e
PR feedback
2016-07-15 15:16:03 -07:00
David Fowler
14717f2a3f
Always allocate the socket closed tcs
2016-07-15 15:16:03 -07:00
David Fowler
142685c0fb
Remove state lock from Connection
...
- Remove the state lock by creating the frame earlier
- Set properties on the frame that need to be set before calling start.
- Don't rely on the copy ctor of the *Context hierarchy to set
*everything*
2016-07-15 15:16:03 -07:00
Cesar Blum Silveira
3bb7f4e2c4
Treat ECONNRESET as a connection error ( #934 ).
2016-07-15 14:53:21 -07:00
Victor Hurdugaci
ed91ba0c2f
- Fix a NullRef exception that was happening when projects have resx files
...
- Print the changed file name in all cases
2016-07-15 11:53:45 -07:00
Victor Hurdugaci
c769d8dee9
Fix null ref exception when referencing csproj
2016-07-15 10:05:30 -07:00
Doug Bunting
4f30dddb14
To de-dupe, we must remove
...
- part of aspnet/Common#93
- use `WebEncoders` from Common repo
Also let VS have its way w/ test `.xproj` files
2016-07-12 16:24:41 -07:00
moozzyk
ef6533cf85
Fixing wording/casing in command line tool output
...
Fixes #229
2016-07-11 10:58:16 -07:00
Doug Bunting
80437e878a
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 14:16:10 -07:00
Doug Bunting
82a0a99107
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 12:07:14 -07:00
Doug Bunting
6b08efb122
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 12:06:18 -07:00
Doug Bunting
c4a4e86708
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 12:05:28 -07:00
Doug Bunting
717e4fe083
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 12:00:26 -07:00
Cesar Blum Silveira
edd247b8e2
Merge branch 'khellang/status-451' into dev
2016-07-07 11:42:15 -07:00
Cesar Blum Silveira
176b599854
Merge branch 'khellang/status-308' into dev
2016-07-07 11:35:24 -07:00
Doug Bunting
9f6a691655
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-06 22:09:57 -07:00
Doug Bunting
332e0a0b87
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-06 22:03:23 -07:00
Cesar Blum Silveira
9f720eda90
Reset frame streams on each request ( #940 ).
2016-07-06 14:57:43 -07:00
Nicholas Ventimiglia
6a8a4e8669
Update MemoryPoolBlock.cs
2016-06-21 17:00:59 -07:00
Nicholas Ventimiglia
3db95ddcde
As an American, I had to correct the spelling of 'independent'
2016-06-21 11:08:40 -07:00
Pranav K
de668c2ebd
Updating to dev versions
...
# Conflicts:
# test/Microsoft.AspNetCore.Server.Kestrel.FunctionalTests/project.json
2016-06-16 10:40:58 -07:00
Pranav K
38ba07487a
Updating to dev versions
2016-06-16 10:18:54 -07:00
Pranav K
36e5c0e6fa
Updating to dev versions
2016-06-16 10:18:08 -07:00
Pranav K
fb09e5323c
Updating to dev versions
2016-06-16 10:18:06 -07:00
Pranav K
66518476af
Updating to dev versions
2016-06-16 10:17:57 -07:00
Pranav K
67fe579e74
Updating to dev versions
2016-06-16 10:17:46 -07:00
Pranav K
69fa821522
Updating to dev versions
2016-06-16 10:17:41 -07:00
Kristian Hellang
eb74a19f9a
Added "451 Unavailable For Legal Reasons" to ReasonPhrases
...
From RFC7725 - https://tools.ietf.org/html/rfc7725
2016-06-16 13:49:26 +02:00
Kristian Hellang
6414ccc2fd
Added "308 Permanent Redirect" to ReasonPhrases
...
From RFC7538 - https://tools.ietf.org/html/rfc7538
2016-06-16 13:48:52 +02:00
jacalvar
d7d8af57f6
Update Json.NET to 9.0.1
2016-06-15 14:41:19 -07:00
Stephen Halter
01e9101543
Add more doc comments to KestrelServerOptions
2016-06-13 19:52:38 -07:00
Mike Harder
5ecb1f59a4
Limit size of memory buffer when reading request ( #304 )
...
- Added property `KestrelServerOptions.MaxRequestBufferSize`
- Default is 1,048,576 bytes (1MB)
- If value is null, the size of the request buffer is unlimited.
- Fixed bug in `IConnectionControl.Resume()` where `_socket.ReadStart()` can throw if the socket is already disconnected.
- Made `UvStreamHandle.ReadStop()` idempotent, to match `uv_read_stop()`.
2016-06-13 18:52:20 -07:00
Stephen Halter
b4632c273e
Handle exceptions thrown from Connection.Start in ListenerSecondary
...
- This is already done for primary listeners
2016-06-08 17:17:49 -07:00
jacalvar
8dbdc0294f
Remove unncessary imports
2016-06-08 15:07:48 -07:00
jacalvar
4d77dce803
Remove unncessary imports
2016-06-08 15:07:03 -07:00
jacalvar
b1af033529
Remove unncessary imports
2016-06-08 15:04:56 -07:00
jacalvar
15454ae254
Remove unncessary imports
2016-06-08 13:02:26 -07:00
Mukul Sabharwal
badbc7c8f7
Downtarget Kestrel to NETStandard 1.3
2016-06-06 21:37:44 -07:00
moozzyk
69bd0dc4be
Reject requests that have null characters in path
2016-06-06 09:59:42 -07:00
Pranav K
17a41597a6
Reacting to Hosting changes
2016-06-03 18:24:35 -07:00
Andrew Stanton-Nurse
09f5be1434
fix #909 by moving most classes to Internal ns
2016-06-03 14:14:21 -07:00
jacalvar
0f1836c6dd
Update Json.NET to 9.0.1-beta1
2016-06-03 13:08:19 -07:00
Pavel Krymets
47d3ffdddc
Add activator fallback to support rc1 keys
2016-06-03 12:27:17 -07:00
Stephen Halter
d14f18012a
Avoid Null ReferenceException in Frame.RequestAbortedSource
...
- Avoid unneeded resetting of _abortedCts and _manuallySetRequestAbortToken
2016-06-02 16:55:19 -07:00
Stephen Halter
6bff2ecb34
Small cleanup to SocketOutput's shutdown logic
2016-06-02 16:54:00 -07:00
Stephen Halter
07744e75d9
Gracefully handle connection close in SocketOutput.ProducingComplete
2016-06-02 16:54:00 -07:00
Stephen Halter
2d229e8980
Allow a maximum of 3 concurrent uv_write operations per connection
...
- Keep logic to prevent unnecessary calls to KestrelThread.Post
- This partially reverts commit 480996433e .
2016-06-02 16:52:06 -07:00
moozzyk
0342754c57
Using the optimized method for converting header name to ASCII
2016-06-02 16:36:22 -07:00
Cesar Blum Silveira
de022b6051
Improved handling of whitespace in headers.
2016-06-02 16:18:43 -07:00
moozzyk
6e46d9757d
Improve perf of TryGetAsciiString
2016-06-02 12:52:12 -07:00
Pranav K
263d764215
Fix assembly metadata to fix package verifier warnings
2016-06-02 10:57:04 -07:00