Commit Graph

2652 Commits

Author SHA1 Message Date
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
Victor Hurdugaci 29bc240044 Fix a timing issue in the polling watcher 2016-06-01 16:15:55 -07:00
Stephen Halter f609f41a7c Reject non-ASCII chars in headers in addition to control chars 2016-06-01 16:01:15 -07:00
Pavel Krymets bb92cc1c29 Fix NRE when aborting connection or client disconects 2016-06-01 15:52:05 -07:00
Chris R 6224f5b6e8 Perf: Remove unnecessary path checks 2016-06-01 14:56:49 -07:00
Victor Hurdugaci 188bf58fe8 Remove netstandard.library 2016-06-01 14:52:22 -07:00
Pranav K 0d471b827b Update NetStandard.Library version 2016-06-01 14:31:42 -07:00
moozzyk 0753f06c28 Aborting request if a string can't be converted to ASCII 2016-05-31 17:11:31 -07:00
moozzyk 5d77ad24c2 Refactoring out GetAsciiString from MemoryPoolIteratorExtensions 2016-05-31 16:27:01 -07:00
Cesar Blum Silveira 50208a3a79 Implement IHttpRequestFeature.RawTarget (aspnet/HttpAbstractions#596). 2016-05-31 15:30:12 -07:00
Andrew Stanton-Nurse 290e1e3f3f improve validation of HTTP methods 2016-05-31 14:13:13 -07:00
Mike Harder 306084356e ServerAddress.FromUrl() should throw if Host is missing (#860) 2016-05-31 11:54:38 -07:00
moozzyk 31a6a126e3 Always overwrite stdoutLogPath when publishing for Azure
Addresses #167
2016-05-31 10:35:51 -07:00
BrennanConroy 060a1c8f5a Replace PlatformAbstractions with RuntimeInformation 2016-05-31 09:49:59 -07:00
Victor Hurdugaci c5abb2e2eb Revert the fix for notification on folder deletion because it requires a big redesign. The simple fix doesn't work 2016-05-31 09:18:02 -07:00
BrennanConroy 6b25ee7343 Replace PlatformAbstractions with RuntimeInformation 2016-05-31 08:17:02 -07:00
Cesar Blum Silveira 0a181b1f3f Reset Frame's IHttpRequestFeature.Headers and IHttpResponseFeature.Headers between requests (#879). 2016-05-27 16:02:55 -07:00
Stephen Halter 1a6ec294bc Merge branch 'stephentoub/remove_valuetask_casts' into dev 2016-05-27 15:47:13 -07:00
John Luo f45e533533 Update metadata 2016-05-27 15:29:53 -07:00
Cesar Blum Silveira 80a2bc124d Remove Frame.RequestUri. 2016-05-27 12:40:14 -07:00
Mike Harder 2453047fe2 ServerAddress.FromUrl() should throw for invalid url (#875) 2016-05-27 12:02:30 -07:00
Pranav K bf5f6b9275 Updating to netstandard1.6
Fixes https://github.com/aspnet/Coherence/issues/101
2016-05-27 07:36:33 -07:00
Stephen Toub 69d8b17095 Remove uses of ValueTask<T>'s implicit casts
These are being removed.
2016-05-27 10:28:24 -04:00
John Luo a2e3bdf408 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-26 18:29:26 -07:00
John Luo 5095594cd3 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-26 18:26:02 -07:00
John Luo 3a1c463e02 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-26 18:19:13 -07:00
Victor Hurdugaci 2cf772b575 - Bugfix: Trigger on new project.json file structure
- Bugfix: Trigger on folder deletion
- Add test for folder deletion
2016-05-26 16:06:03 -07:00
Stephen Halter b9b67f6bf4 Merge branch 'khellang/set-headers-on-response-start' into dev 2016-05-26 15:35:01 -07:00
Victor Hurdugaci 526f22f072 Rename the environment variable used for polling watcher 2016-05-26 15:13:19 -07:00
N. Taylor Mullen cc9873ae6c Unique-ify extension types to not be ambiguous.
- Also updated test class names to reflect new extension naming.

#148
2016-05-26 10:31:13 -07:00
Victor Hurdugaci 07d504cf9a Update the project.json metadata 2016-05-26 09:44:15 -07:00
Kristian Hellang 72cc0ffbd5 Set Date and Server headers at response start
Closes #223
2016-05-26 17:38:16 +02:00
Cesar Blum Silveira a3d0bd0ec4 Bind to both IPv4 and IPv6 when localhost is specified (#231). 2016-05-25 21:23:29 -07:00
Chris R ed85f504d8 #102 Filter out DEBUG requests under the debugger. 2016-05-25 10:39:52 -07:00
Cesar Blum Silveira 3f4e2323f4 Throw when setting Frame.StatusCode or Frame.ReasonPhrase after response has already started (#805). 2016-05-24 16:32:54 -07:00
Stephen Halter cb284b9d58 Fix race that would allow GetDateHeaderValues to return null 2016-05-24 16:28:46 -07:00
Victor Hurdugaci 63bbafdb1d Simplify watcher arguments by passing everything to dotnet 2016-05-24 16:05:43 -07:00
Stephen Halter d164f350b4 Add comment explaining why ForChunkedEncoding._vectorCRs is not static 2016-05-24 16:05:20 -07:00
Chris R fa3a0e7c7a #140 Disable header symmetry check on azure. 2016-05-23 14:59:44 -07:00
Mike Harder 5ca6592677 Don't bind if only port is specified (#814) (#861)
- Also renamed ServerAddressFacts to ServerAddressTests to match existing test classes
2016-05-23 14:06:46 -07:00
David Fowler a5b1172676 Remove dependency on hosting
- IIS integration only needs hosting.abstractions
- Fixed launch profiles
- Added AddDebug logging provider
2016-05-21 09:17:24 -07:00
Ben Adams 6098880132 Reset connection info not using interface 2016-05-21 00:41:55 +01:00
Cesar Blum Silveira 925d8e0200 Always cache headers and streams across frames (#754). 2016-05-20 16:16:19 -07:00
Stephen Halter 5495610e5c Merge branch 'benaadams/fastpath-connectioncheck' into dev 2016-05-20 16:02:46 -07:00
Stephen Halter a38a437efb Merge branch 'khellang/server-header-option' into dev 2016-05-20 15:56:29 -07:00
Stephen Halter c39546352a Merge branch 'shanewalters/remote-cert' into dev 2016-05-20 15:53:51 -07:00
Kristian Hellang 2ab01c09fd Add option to remove the Server header 2016-05-20 13:18:18 +02:00
Ben Adams 5eb1466487 Fast-path response header connection check 2016-05-20 03:37:32 +01:00
shanewalters b17c070e1c Updated to not use handle, centralize conversion logic. 2016-05-19 14:40:29 -06:00
Cesar Blum Silveira 59aef9a443 Merge branch 'benaadams/remove-framecontext' into dev 2016-05-19 12:25:04 -07:00
Cesar Blum Silveira 1f494b168b Remove Frame._requestProcessingStarted field. 2016-05-19 11:48:50 -07:00
Cesar Blum Silveira 9960cb8c23 Remove unused Frame static fields. 2016-05-19 11:47:58 -07:00
Cesar Blum Silveira 8e9df409c4 Remove dead code in ReasonPhrases. 2016-05-19 11:46:48 -07:00
Ben Adams e8647c0cb4 Remove extra FrameContext class
Resolves #837
2016-05-19 19:22:39 +01:00
shanewalters 9232029950 Use SslStream.RemoteCertificate to recreate disposed certificate. 2016-05-19 12:17:23 -06:00
Cesar Blum Silveira 9a06bf39ab Move ECONNRESET value check to server initialization. 2016-05-18 22:11:10 -07:00
Stephen Halter 7e7f21ec49 Merge branch 'benaadams/dateheader' into dev 2016-05-18 17:11:01 -07:00
Stephen Halter 369512369f Merge branch 'benaadams/return-blocks-out-of-lock' into dev 2016-05-18 17:03:24 -07:00
Nathan Anderson e1c64d2119 reuse typeof results in generated Frame code 2016-05-18 16:52:34 -07:00
Stephen Halter 185ad000bb Prevent NullReferenceException in KestrelThread.OnStopRude
- UvMemory.FromIntPtr looks up a weak reference so we need to null check.
2016-05-18 16:21:55 -07:00
Cesar Blum Silveira 8c8ee150f7 Send 'Connection: close' in all 400 responses to HTTP/1.1 requests (#840). 2016-05-18 15:03:31 -07:00
moozzyk 152c11394e Do not overwrite arguments for portable apps
Addresses #147
2016-05-18 14:20:05 -07:00
Pranav K 47ee8e0cfa Revert "Update minor version of TypeConverter (#22)"
This reverts commit ca1e53bb34.
2016-05-18 09:44:47 -07:00
Pranav K 297c5d3ac0 Revert "React to updated CoreCLR packages"
This reverts commit b7be616f83.
2016-05-18 09:44:03 -07:00
Pranav K f20a8acb61 Revert "React to updated CoreCLR packages"
This reverts commit 5ddbe38630.
2016-05-18 09:42:58 -07:00
John Luo b7be616f83 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-17 15:45:07 -07:00
John Luo 5ddbe38630 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-17 14:45:03 -07:00
Ryan Brandenburg ca1e53bb34 Update minor version of TypeConverter (#22) 2016-05-17 12:28:18 -07:00
N. Taylor Mullen fe563b1459 Rename `HtmlEncodedString` => `HtmlString`.
- This rename makes the type more consistent with its `HtmlContentBuilder` counterparts (`AppendHtml`).

#25
2016-05-17 11:11:10 -07:00
Cesar Blum Silveira 3e841ccba1 Always send HTTP/1.1 responses (#792). 2016-05-16 16:11:37 -07:00
moozzyk f58641be49 Adding support for outputName build option
Addresses #128
2016-05-12 15:45:49 -07:00
Cesar Blum Silveira 3186e1bd72 Make TakeStartLine more robust (#683). 2016-05-12 12:07:08 -07:00
Ben Adams a3b0f809de Only call PrepareDateValues if not already called for tick 2016-05-10 20:38:27 +01:00
Ben Adams 0e8cbe5df6 Return SocketInput blocks out of lock 2016-05-10 01:18:24 +01:00
Stephen Halter 388841c1d8 Merge branch 'release' into dev 2016-05-09 16:37:40 -07:00
Pranav K c3dc279642 Merge branch 'release' into dev 2016-05-06 14:10:05 -07:00
Pranav K 4ac0811585 Revise the version for Microsoft.AspNetCore.Server.IISIntegration.Tools
Additionally fix project.json warnings
2016-05-06 14:07:14 -07:00
Stephen Halter 12a3816c12 Make some MemoryPoolBlock operations volatile
- Making MemoryPoolBlock.End volatile and using Volatile.Write for
  MemoryPoolBlock.Next prevents a race that could cause threads consuming
  blocks to skip produced bytes.
2016-05-05 15:13:28 -07:00
Stephen Halter 4c39374dc0 Always check if block is last in linked list before consuming it
- This prevents a race where we could read into the "Next" Block without
  completely consuming the previous one.
2016-05-05 15:13:17 -07:00
Nathan Anderson 132263e767 narrow lock scope when connections end 2016-05-04 16:50:08 -07:00
Stephen Halter fed7c44829 Merge branch 'halter73/validate-header' into dev 2016-05-04 12:35:26 -07:00
Stephen Halter c1e5640a65 Don't allow response headers to contain control characters
- For the purposes of this commit, control characters are everything < 0x20.
- Immediately throw an InvalidOperationException when the header is added to
  the IHttpResponseFeature.Headers dictionary.
2016-05-04 12:24:31 -07:00
Mike Harder 14bbba0641 Update addresses in IServerAddressesFeature with assigned dynamic ports (#758)
- Change most tests to use dynamic ports, rather than a fixed port obtained from GetNextPort().
- Add several new cases to `AddressRegistrationTests` and `ServerAddressFacts`.
- Remove project `test\Microsoft.AspNetCore.Server.Kestrel.TestCommon`.  It's not longer needed, since only `AddressRegistrationTests` uses `GetNextPort()`.
2016-05-04 11:27:23 -07:00
Stephen Halter f8c2c2470f Merge branch 'benaadams/memorypool' into dev 2016-05-02 21:58:53 -07:00
Pranav K ff510875f2 Merge branch 'release' into dev 2016-05-02 14:56:30 -07:00
Pranav K 95b6a0a999 Fix build warnings 2016-05-02 11:27:30 -07:00
Pranav K f0358182e4 Fix build warnings 2016-05-02 11:27:18 -07:00
Pranav K 2205f33a59 Fix build warnings 2016-05-02 11:27:18 -07:00
Pranav K 2cd905dd44 Fix build warnings 2016-05-02 11:27:18 -07:00
Pranav K a97ac1b23b Fix build warnings 2016-05-02 11:27:16 -07:00
Pranav K 63a9d64394 Fix build warnings 2016-05-02 11:27:09 -07:00
Pranav K 5abd3bf076 Fix build warnings 2016-05-02 11:27:08 -07:00
Ben Adams 3a424f6aba Remove unnecessary fixed blocks 2016-04-30 11:17:06 +01:00
Ben Adams 2aa10a64a2 Remove noop pin+unpin w/ memory blocks
+ Only use pooled blocks in tests
2016-04-30 11:17:06 +01:00
Ryan Brandenburg d22a638e55 React to TryGetProject changes 2016-04-29 14:31:29 -07:00
Pranav K cb426cb325 Remove references to IRuntimeEnvironment 2016-04-29 14:30:41 -07:00
Kristian Hellang 8a9840216c Use type's namespace instead of assembly FullName 2016-04-29 12:02:56 -07:00
moozzyk 75adbc18a2 Use IOCP on secondary listener threads on Windows
Addresses #679
2016-04-29 08:45:12 -07:00
Cesar Blum Silveira ebca8db7dc Merge branch 'justinvp/taskutilities' into dev 2016-04-28 11:28:42 -07:00
Justin Van Patten 68f14c06cb Use Task.FromCanceled<TResult>() on NETSTANDARD1_3
Task.FromCanceled<int>(cancellationToken) can be used on
NETSTANDARD1_3 in TaskUtilities.GetCancelledZeroTask().
2016-04-27 22:26:31 -07:00
John Luo e344edc2a3 React to default hosting configuration changes 2016-04-27 11:36:23 -07:00
Cesar Blum Silveira 5a8cba878d Merge branch 'benaadams/async-write' into dev 2016-04-27 11:25:45 -07:00
Justin Van Patten 8f7c0ff041 Minor Stream improvements
- Unsupported members should throw NotSupportedException instead of
NotImplementedException per MSDN docs for CanRead/CanSeek/CanWrite.
- Position should throw NotSupportedException when CanSeek is false.
- FrameRequestStream.Flush/FlushAsync should not throw
NotImplementedException.
- Use expression-bodied members for CanRead/CanSeek/CanWrite on
FrameRequestStream to match FrameResponseStream.
- Provide no-op override of LibuvStream.FlushAsync to match Flush.
2016-04-25 22:19:30 -07:00
Pranav K 5e81b89378 Replace IApplicationEnvironment with IHostingEnvironment 2016-04-25 16:54:35 -07:00
Ben Adams 216aa9343e Remove redundent null coalesce 2016-04-25 11:49:48 +01:00
Ben Adams 4626833e51 StreamSocketOutput WriteAsync as async 2016-04-25 09:52:33 +01:00
John Luo 34b5097149 Convert to portable and add tests for standalone and portable 2016-04-22 16:18:17 -07:00
Cesar Blum Silveira 0a21b94609 Make ECONNRESET value platform-specific (#649). 2016-04-22 16:06:08 -07:00
Victor Hurdugaci 21951d62f3 Fix command line parsing around the -- separator 2016-04-22 14:44:52 -07:00
Chris R fcdf8ddc2f #141 Require the MSAspNetCoreToken or send a 400. 2016-04-22 13:23:23 -07:00
moozzyk 4d24efc439 Removing %LAUNCHER_ARGS% from arguments for portable apps
Addresses #150
2016-04-22 11:07:08 -07:00
moozzyk b034849756 Making the path to app relative for Azure
Removing startupLimitType - it is obsolete in AspNetCoreModule

Addresses #142
2016-04-21 16:32:31 -07:00
Cesar Blum Silveira 179b57b01f Remove SocketInputStream (#753). 2016-04-21 15:10:12 -07:00
Cesar Blum Silveira 7ca0fbeb3d Merge branch 'release' into dev 2016-04-19 22:22:48 -07:00
Cesar Blum Silveira f29dd60999 Fix connection termination issues when using connection filters (#737, #747).
- If we're done before the client sends a FIN, force a FIN into the raw
  SocketInput so the task in FileteredStreamAdapter finishes gracefully
  and we dispose everything in proper order.
- If there's an error while writing to a stream (like ObjectDisposedException),
  log it once and prevent further write attempts. This means the client closed
  the connection while we were still writing output.
- This also fixes a bug related to the point above, where memory blocks were
  being leaked instead of returned to the pool (because we weren't catching
  the exception from Write()).
2016-04-19 22:04:33 -07:00
moozzyk 265c90cbd1 Moving dotnet-watch to netcoreapp1.0 2016-04-19 11:54:44 -07:00
moozzyk c248e539f3 Renaming namespaces and fixing tests 2016-04-19 11:26:40 -07:00
moozzyk afe01eedbf Renaming dotnet-watch folders to Microsoft.DotNet.Watcher.Tools 2016-04-19 10:38:59 -07:00
Victor Hurdugaci 684ee87f20 Fix the prefix comparison 2016-04-18 17:38:41 -07:00
Mike Harder 8b83f1ee6b Merge branch 'release' into dev 2016-04-18 16:59:08 -07:00
Mike Harder 0453e4af70 Add KestrelServerOptionsSetup before KestrelServerOptions (#755) (#757)
- Required to ensure that options.ApplicationServices is available after during UseKestrel(options)
2016-04-18 16:57:59 -07:00
Mike Harder 0d9dc1a205 Merge branch 'release' into dev 2016-04-18 15:33:21 -07:00
Mike Harder bbf2c83a7d Add KestrelServerOptionsSetup to IServiceCollection in UseKestrel() (#755)
- Previously, KestrelServerOptionsSetup was only added to IServiceCollection in UseKestrel(options)
- Required to ensure that options.ApplicationServices is available after calling UseKestrel()
2016-04-18 15:32:09 -07:00
John Luo 6b1ffb55b3 Remove old IISPlatformHandler and dotnet-publish-iis packages #122 2016-04-15 17:48:16 -07:00
Chris R 20a1f4a548 Merge branch 'release' into dev 2016-04-15 16:06:15 -07:00
Chris R c48353f4ef Hosting#698 Remove IServerFactory 2016-04-15 16:05:01 -07:00
moozzyk 1410a5a096 Enabling publishing portable apps
Addresses #109
2016-04-15 13:09:55 -07:00
Pranav K ab50213acd Fix reference to Microsoft.NetCore.App 2016-04-14 19:12:28 -07:00
Pranav K 49fd345192 Remove Microsoft.DotNet.Cli.Utils 2016-04-14 10:15:19 -07:00
moozzyk 7f7742577d Removing .log extension from the log file name
AspNetCoreModule appends a timestamp followed by ".log" to log file name. Removing extension prevents from creating log files with names like stdout.log.{timestamp}.log
2016-04-14 09:23:19 -07:00
moozzyk 362c093174 The web.config file needs to have Windows slashes even if published on *nix
Addresses #104
2016-04-14 09:21:54 -07:00
Victor Hurdugaci cf465b2001 Fix tests on unix and make tests more reliable on all platforms 2016-04-13 16:08:10 -07:00
Mike Harder 38c70a6fec Merge branch 'release' into dev 2016-04-13 15:12:37 -07:00
Mike Harder 6047a62c07 Add IWebHostBuilder.UseKestrel(options) overload to configure Kestrel (#720)
- Replace KestrelServerInformation with KestrelServerOptions.
- Move properties from KestrelServerPoolingParameters to KestrelServerOptions.
- Stop reading default options from "kestrel.*" config settings.
- Move extension method IApplicatonBuilder.UseKestrelConnectionLogging() to KestrelServerOptions.UseConnectionLogging()
2016-04-13 14:57:54 -07:00
Stephen Halter c9a1d4000f Merge branch 'release' into dev 2016-04-13 12:51:56 -07:00
moozzyk 8f1f3c0772 Add a polling watcher 2016-04-13 09:52:55 -07:00
David Fowler 5354005a1a Remove support for DNX on osx on mono
- Remove mono osx specific PInvokes
- Use PlatformAbstractions to detect darwin instead of direct pinvoke

#742
2016-04-12 23:47:36 -07:00
Eilon Lipton 78d3428eb7 Fix package metadata 2016-04-12 19:06:55 -07:00
Eilon Lipton 795fc36cde Fix package metadata 2016-04-12 18:47:35 -07:00
Cesar Blum Silveira 7b63846357 Prevent crash when aborting connection before Frame is created (#738). 2016-04-12 14:18:41 -07:00
moozzyk 46d4c6edcb Updating dotnet-watch to netstandard 2016-04-12 09:46:12 -07:00
Stephen Halter 7d4fcfeb23 Depend on separate libuv package 2016-04-10 21:15:43 -07:00
Pranav K e06a0f0898 Removing imports from src projects 2016-04-08 06:49:22 -07:00
Pranav K 29a8d5b7c5 Removing imports from src projects 2016-04-08 06:49:01 -07:00
Pranav K 31732c3d91 Removing imports from src projects 2016-04-08 06:48:39 -07:00
Pranav K 4d9d196b4a Removing imports from src projects 2016-04-08 06:48:35 -07:00
Pranav K aeb3939ac8 Removing imports from src projects 2016-04-08 06:46:41 -07:00
moozzyk e5d651fc30 Updating publish-iis to be a portable app 2016-04-07 15:16:37 -07:00
Chris R ee7bb86407 #121 Rename UseIIS() to UseIISIntegration() 2016-04-07 11:26:31 -07:00
Pranav K 40091fcb22 Fixing build break 2016-04-06 19:18:10 -07:00
Pranav K 8f5a75b26b Fix versions 2016-04-06 18:18:57 -07:00
Ryan Nowak 89c9c3260b Make HtmlFormattableString public
We've had this class for a while backing the implementation of the
AppendFormat extension method. Making this public so we can use it in MVC
in localization.

Some updates to the API surface and name to be aligned with
System.FormattableString
2016-04-06 16:42:29 -07:00
Victor Hurdugaci aa2b726363 Remove unused dependencies 2016-04-06 15:09:59 -07:00
Stephen Halter 056b4ac41d Never call Thread.Abort
- This API isn't available on .NET Core so we should rely entirely on
  our other methods of terminating the libuv threads.
2016-04-06 14:48:01 -07:00
John Luo 7a923d1d6f Published web.config to application root instead of web root #115 2016-04-06 14:01:23 -07:00
Ajay Bhargav Baaskaran 5654310a68 [Fixes #130] Added few DataProtectionProvider.Create overloads 2016-04-06 13:10:55 -07:00
Stephen Halter 50f187aa3e Ensure entire request body is consumed before handling fin
This completes the fix for #704
2016-04-05 11:16:09 -07:00
David Fowler 21de2aee13 Remove unused dependency on TraceSource
- TraceSource is RID specific (see https://github.com/dotnet/corefx/issues/7480) and it
causes 2 dlls to end up in the output of every ASP.NET application. We don't even
use it anymore.
2016-04-04 20:04:17 -07:00
John Luo cc69cacaea Reacting to Configuration API update 2016-04-04 12:18:35 -07:00
Pranav K d1c52323f2 Revert "Revert "Reacting to CLI breaking change""
This reverts commit e74665e550.
2016-04-02 05:50:03 -07:00
ryanbrandenburg e74665e550 Revert "Reacting to CLI breaking change"
This reverts commit 4788506b57.
2016-04-01 16:05:28 -07:00
BrennanConroy 109c56713a React to logging changes 2016-04-01 11:53:47 -07:00
BrennanConroy 4ddf7c2cc7 React to Logging changes 2016-04-01 11:11:09 -07:00
Pranav K 4788506b57 Reacting to CLI breaking change 2016-04-01 06:41:43 -07:00
Mike Harder 228c34b500 Remove duplicate calls to FrameRequestHeaders and FrameResponseHeaders ctors (#695) 2016-03-31 17:34:59 -07:00
David Fowler 7eb34ad257 Update project.json
Fixed System.Runtime.Serialization.Primitives version
2016-03-31 12:08:59 -07:00
Doug Bunting 52e5ccdac7 React to HttpAbstractions namespace changes
- aspnet/HttpAbstractions#549 and aspnet/HttpAbstractions#592
- clean up `using`s
2016-03-30 16:07:22 -07:00
Doug Bunting c828fafe1b React to HttpAbstractions namespace changes
- aspnet/HttpAbstractions#549 and aspnet/HttpAbstractions#592
- clean up `using`s
2016-03-30 16:04:43 -07:00
Mike Harder 088b7e5779 Add UseKestrel() extension method to IWebHostBuilder (#713) 2016-03-30 12:08:32 -07:00
Stephen Halter aa17125f9e Fix spelling of "timeout" in kestrel.shutdownTimeout 2016-03-30 11:14:35 -07:00
Stephen Halter f0e438f65f Remove IKestrelTrace.ApplicationError overload without connection id
Add test verifying that exceptions thrown from application tcs continuations
run by the LoggingThreadPool don't get logged as general exceptions.
2016-03-30 11:13:13 -07:00
Stephen Halter a8e5c0ce30 Log connection id in KestrelTrace.ApplicationError 2016-03-30 10:16:01 -07:00
jacalvar 794d0892ae Return IServiceCollection from AddWebEncoders extension methods 2016-03-28 15:27:31 -07:00
Eilon Lipton c5d5ef6788 Fix package metadata 2016-03-26 15:00:56 -07:00
ryanbrandenburg fd10621c1a SetContent->SetHtmlContent 2016-03-25 12:01:59 -07:00
David Fowler cf9509baca Fixed the build 2016-03-25 01:56:45 -07:00
Eilon Lipton 7cace9a7fe Fix package metadata 2016-03-24 23:50:57 -07:00
Pranav K 92cb5120ae React to Hosting changes 2016-03-24 14:11:36 -07:00
John Luo c43fb71cff Reacting to Hosting changes 2016-03-24 11:47:56 -07:00
Pranav K f2a42d1f71 Reacting to CoreCLR package changes 2016-03-23 13:00:46 -07:00
Cesar Blum Silveira 3f0e65495e Merge branch 'shalter/last-request' into dev 2016-03-22 17:57:26 -07:00
Cesar Blum Silveira fd70fb732d Add explanatory comments for previous commit. 2016-03-22 17:55:21 -07:00
Pranav K 968eec59ae Revert "Revert "Reacting to CoreCLR package changes""
This reverts commit 3b02600566.
2016-03-22 16:02:09 -07:00
Pranav K 3574a25316 Revert "Revert "Reacting to CoreCLR package changes""
This reverts commit 33dd349cd0.
2016-03-22 15:07:20 -07:00
Doug Bunting 3b02600566 Revert "Reacting to CoreCLR package changes"
This reverts commit 1d91b7bb0d.
2016-03-22 09:38:50 -07:00
Pranav K 33dd349cd0 Revert "Reacting to CoreCLR package changes"
This reverts commit 1786e21426.
2016-03-21 14:24:00 -07:00
Pranav K 1786e21426 Reacting to CoreCLR package changes 2016-03-21 06:51:32 -07:00
Pranav K 1d91b7bb0d Reacting to CoreCLR package changes 2016-03-20 23:54:07 -07:00
Doug Bunting 0f9e4eba02 React to HttpAbstractions change: `WebSocketAcceptContext` in new namespace
- see issue aspnet/HttpAbstractions#590 and pull aspnet/HttpAbstractions#589
2016-03-20 18:06:55 -07:00
Pranav K 8503e161d0 Reacting to CoreCLR package changes 2016-03-19 11:43:51 -07:00
Doug Bunting f13c418a65 React to HttpAbstractions change: No features in `.Internal` namespace
- see issue aspnet/HttpAbstractions#561 and pull aspnet/HttpAbstractions#589
2016-03-18 19:01:53 -07:00
moozzyk a15826399d Racting to ASPNETCORE_APPLICATIONBASE -> ASPNETCORE_CONTENTROOT rename 2016-03-18 14:52:00 -07:00
Chris R 712b6f78bb #95 Add the ForwardedHeadersMiddleware by default. 2016-03-18 11:21:17 -07:00
Stephen Halter 792f3ad089 Fix race preventing handling of the last request sent over a connection
We need to attempt to consume start lines and headers even after
SocketInput.RemoteIntakeFin is set to true to ensure we don't close a
connection without giving the application a chance to respond to a request
sent immediately before the a FIN from the client.
2016-03-17 23:08:30 -07:00
John Luo 73217edba5 Update package name 2016-03-17 16:36:27 -07:00
Stephen Halter 84a68208d0 Remove race condition from socket input that could stall reads
- Without the _sync lock, if new data was produced as ConsumingComplete
  was called, the next "await SocketInput" might never complete despite not
  all data being examined.
- If more data is produced afterward, the stall would be prevented, but this
  isn't always the case such as during the end of the request.
2016-03-17 07:44:32 -07:00
John Luo 4df44c8501 Use KillTree from Common 2016-03-16 18:02:59 -07:00
moozzyk a3f8648710 Reacting to ASPNET_ => ASPNETCORE_ rename 2016-03-15 13:21:54 -07:00
moozzyk 54bc8022af Moving publish-iis from httpPlatformHandler to aspNetCoreModule 2016-03-15 13:21:53 -07:00
moozzyk 5c50ba0898 Creating Microsoft.AspNetCore.Server.IISIntegration.Tools package
See #95
2016-03-15 13:21:52 -07:00
jacalvar aa1495deb0 [Fixes #120, Fixes #121, Fixes #122] Make data protection follow the options model
* Add an IDataProtectionBuilder interface and move methods on DataProtectionConfiguration
  to extension methods on IDataProtectionBuilder.
* Make AddDataProtection return an IDataProtectionBuilder instance for further configuration.
* Make AddDataProtection take in an action with a GlobalConfigurationOptions parameter instead
  of a DataProtectionConfiguration parameter.
* Make DataProtectionProvider static
* Remove ConfigureGlobalOptions
* Change Option suffix in classes that are not actually options to Settings.
* Add extension method for configuring key management options.
* Cleanups.
2016-03-15 15:20:59 -07:00
Ajay Bhargav Baaskaran bfe81edbdc Updated Json.Net version 2016-03-14 14:42:18 -07:00
Chris R 9e6dc5b2da #95 Add the IISMiddleware via a IStartupFilter. 2016-03-14 09:59:49 -07:00
Cesar Blum Silveira 8e24c3a708 Fix deadlock when connection is simultaneously aborted and ended (#684). 2016-03-12 21:35:21 -08:00
Pranav K 0e95ce9a8e Target minimal TFMs 2016-03-12 08:22:32 -08:00
Pranav K 7c67366e84 Fix CI build failure 2016-03-11 21:41:09 -08:00
Pranav K 3d4e0d41c8 Fixing CI build failure 2016-03-11 13:44:34 -08:00
Brice Lambson fb8cf86f71 Don't reference facades in NuSpec
These can be removed entirely after dotnet/cli#164
2016-03-11 08:45:06 -08:00
Brice Lambson 06c818c9e5 Don't reference facades in NuSpec
These can be removed entirely after dotnet/cli#164
2016-03-11 08:44:14 -08:00
Pranav K b734291b13 Target minimal TFMs 2016-03-10 21:46:51 -08:00
Brice Lambson 9750924973 Don't reference facades 2016-03-10 13:05:04 -08:00
Victor Hurdugaci bc382be632 Fix the tests that hang 2016-03-10 11:50:18 -08:00
Chris R 126ed6c4de #95 Switch the middleware from HttpPlatfromHandler to AspNetCoreModule. 2016-03-10 10:11:49 -08:00
Cesar Blum Silveira 88367ccf2d Wait for more input while request hasn't finished (#672). 2016-03-09 15:20:02 -08:00
Cesar Blum Silveira 37b0917ac1 Use TLS 1.1 or 1.2 only (#637). 2016-03-09 12:09:31 -08:00
moozzyk 3e7efd04da Appending .exe to the project name instead of just changing the extension
Fixes #93
2016-03-08 16:43:22 -08:00
moozzyk 5f6293110c Adding libuv.so to the package 2016-03-07 13:21:35 -08:00
Ryan Nowak 2705510508 Add Copy/Move for content - Remove HtmlTextWriter
Currently we overload the definition of WriteTo on IHtmlContent
implementation classes to either represent a "real" write or a "flatten"
by checking if the writer inherits HtmlText writer.

This overloading is a bit of an odd fit and hides the real semantic we
want for flattening.

Additionally, we want to gradually make the concept of a pooled
backing-buffer for IHtmlContent first-class - using pooled buffers
dictates that we support move-semantics to some degree.

This change makes the work that we do for flattening into pooled buffers
explicit rather than hidden.
2016-03-04 07:52:14 -08:00
Cesar Blum Silveira cd8e8f0a11 Prevent DebugAssertException from blocks not returned by non-graceful shutdowns (#667). 2016-03-03 23:57:22 -08:00
Ajay Bhargav Baaskaran 8474003b14 Removed duplicate attributes 2016-03-03 22:45:10 -08:00
Ajay Bhargav Baaskaran 467e520b35 Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:54:13 -08:00
Ajay Bhargav Baaskaran a561fecb91 Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:33:30 -08:00
Ajay Bhargav Baaskaran c737227b3c Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:32:54 -08:00
Ajay Bhargav Baaskaran 65f83015e3 Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:32:50 -08:00
Ajay Bhargav Baaskaran 078cbb5d78 Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:32:02 -08:00
Ajay Bhargav Baaskaran b9d2dc89aa Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:31:53 -08:00
Ajay Bhargav Baaskaran e95ed5d204 Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:31:17 -08:00
Victor Hurdugaci c43c37e7f9 - E2E test
- File watcher that takes the globbing patterns into account
- A big rewrite of the core algorithm
2016-03-03 13:46:45 -08:00
Ajay Bhargav Baaskaran b62d90d7dc Enabled xml doc generation 2016-03-03 12:15:50 -08:00
Stephen Halter f15471bcf2 Remove 2 from MemoryPool2 and related types
- This was merely an artifact from when this was the second of 2 pools
2016-03-03 12:11:25 -08:00
Doug Bunting 51997b2bfc Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 21:40:10 -08:00
Doug Bunting bb2e76c7f1 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 18:57:23 -08:00
Doug Bunting 404a3144cf Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 18:55:57 -08:00
Doug Bunting 83c93c79e6 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 18:54:50 -08:00
Doug Bunting 67c1dfc43d Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 18:50:26 -08:00
Doug Bunting 5f153686e9 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 18:37:40 -08:00
Pranav K 73cf5b3f84 Fixing build break 2016-03-02 17:07:03 -08:00
Doug Bunting a424475be7 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 16:36:52 -08:00
Cesar Blum Silveira 41f77ee3fd Handle uploads larger than 2GB. 2016-03-02 16:09:52 -08:00
Stephen Halter 4e5920fd09 KestrelThread.Stop should wait for StartAsync to complete
- Previously KestrelThread.Stop might assume start failed prematurely
- This could cause a background thread to run indefinitely in the background
2016-03-02 15:04:29 -08:00
N. Taylor Mullen 8f2c77caac Re-add netstandard for non-tool project. 2016-03-02 11:23:31 -08:00
N. Taylor Mullen 911506dc6b Revert "Transition to netstandard."
This reverts commit 078604f3a8.
2016-03-02 10:06:46 -08:00
N. Taylor Mullen e5c6f5ed14 Revert "Transition to netstandard."
This reverts commit 5f2f434034.
2016-03-02 09:57:58 -08:00
jacalvar b2b623816b Make ServiceCollectionExtensions consistent 2016-03-01 16:36:42 -08:00
N. Taylor Mullen 5f2f434034 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:40:42 -08:00
N. Taylor Mullen 1e06560676 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:37:16 -08:00
N. Taylor Mullen 078604f3a8 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:36:12 -08:00
N. Taylor Mullen c33b422d7a Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:36:06 -08:00
N. Taylor Mullen 8c293934e8 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:32:25 -08:00
N. Taylor Mullen d33c2ac377 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:31:31 -08:00
N. Taylor Mullen e8f642df19 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:29:45 -08:00
Ben Adams dab1a1fa8d bug dodge: Invalid Program Excep on Clr 2016-02-27 13:23:54 +00:00
Ben Adams 766803c573 Return 400 for bad requests and close conn 2016-02-27 12:35:12 +00:00
John Luo 82d3269b45 Fixed how processes are killed on Linux 2016-02-26 17:53:52 -08:00
Ben Adams 4bfcd7ba1f Drain chunked extensions + refactor 2016-02-26 23:48:51 +00:00
Ben Adams e0f7bb06dd Parse chunked trailing headers 2016-02-26 23:48:50 +00:00
Ben Adams 8d8176f14a Consume chunked request fully 2016-02-26 23:48:49 +00:00
Cesar Blum Silveira f21cb128e8 Handle 0-byte reads correctly (#520). 2016-02-26 15:21:11 -08:00
Ben Adams c2e5124d5a Fix XML Comment 2016-02-22 22:43:30 -08:00
moozzyk f4e69beea1 Creating webroot if one does not exists
One scenario it is useful is where the webroot does not contain any files. In this case even if the webroot is included in the "content" section dotnet publish does will not publish it.
2016-02-22 17:11:57 -08:00
Ben Adams 58e07a8b2b Put threads into background before starting 2016-02-20 06:15:11 +00:00
Ajay Bhargav Baaskaran 3007398648 Enabled xml doc generation 2016-02-19 15:44:54 -08:00
Ajay Bhargav Baaskaran 33d07b8f7c Enabled xml doc generation 2016-02-19 12:29:48 -08:00
Ajay Bhargav Baaskaran e14b86ebe0 Enabled xml doc generation 2016-02-18 16:27:55 -08:00
Ajay Bhargav Baaskaran 42d913b3ba Enabled xml doc generation 2016-02-18 16:20:51 -08:00
Ajay Bhargav Baaskaran a0169238d0 Enabled xml doc generation 2016-02-18 16:17:02 -08:00
N. Taylor Mullen 2abc6a2343 Update System.Linq 4.0.2-* => 4.1.0-*. 2016-02-18 15:36:49 -08:00
N. Taylor Mullen 795bbfce69 Update System.Linq 4.0.2-* => 4.1.0-*. 2016-02-18 15:36:17 -08:00
Ajay Bhargav Baaskaran f1e696d865 Enabled xml doc generation 2016-02-18 12:39:01 -08:00
Chris R aef612bdac Add IHttpConnectionFeature.ConnectionId. 2016-02-18 11:10:55 -08:00
Cesar Blum Silveira aa48ad2933 Merge branch 'benaadams/loopback-fastpath' into dev 2016-02-18 10:52:42 -08:00
Stephen Halter bc56d11d8c Set IsBackground property to true on libuv Threads for non-debug builds
- If libuv doesn't shutdown as expected, the process will still stop. Thanks @benaadams!
- Address other minor PR feedback.
2016-02-17 16:40:05 -08:00
Stephen Halter 53ecef0f98 Use libuv to track connections instead of ConcurrentDictionaries
- This means connections become untracked sooner than before and not all blocks will
  necessarily be returned.
- The assertion in the MemoryPoolBlock2 finalizer was weakened because FilteredStreamAdapter
  will continue to use blocks after libuv stops tracking the associated connection.
- Make 100% sure we don't accept new connections after we dispose the listen socket by using a flag.
- Add a (currently unused) AllowStop method to KestrelThread. This is meant to be called from
  listeners when we stop accepting new connections, but needs investigation to prevent flakiness.
2016-02-17 16:05:35 -08:00
Stephen Halter f4bb8d5eff Verify that memory pool blocks aren't leaked in tests 2016-02-17 16:05:34 -08:00
Stephen Halter 304016fc3b Close UvAsyncHandle properly to avoid zombie threads
- Even when safe handles are disposed explicitly, ReleaseHandle is sometimes
  called on another thread which breaks uv_close.
- Ensure we close the UvAsyncHandle the uv loop so that the second call
  to uv_run always completes without a timeout/Thread.Abort.
- Re-enable some tests. Add skip conditions for those that aren't passing.
2016-02-17 16:05:32 -08:00
Stephen Halter 54caf3071c Close connections as quickly and gracefully as possible on shutdown
- Make the time given for requests to complete gracefully configurable.
- Complete all async reads so calling code can re-check whether to stop
  request processing and exit if in between requests.
- Don't wait for a FIN from the client since some browsers (e.g. IE & Chrome)
  will take a long time to send one.
- Ensure all ConnectionFilters complete before the memory pool is disposed.
- Ensure blocks get returned even when a ConnectionFilter produces a failed read
2016-02-17 16:05:23 -08:00
Stephen Halter 9c31907bac Don't rely on the finalizer to return blocks referenced by SocketInput 2016-02-17 16:01:35 -08:00
Stephen Halter 87bd60746b Merge branch 'benaadams/pool-headers' into dev 2016-02-17 16:00:20 -08:00
Victor Hurdugaci 59cb4fe65a dnx-watch -> dotnet-watch 2016-02-16 15:33:20 -08:00
Ben Adams 020e0b9dc5 Enable TCP Loopback Fast Path (Windows)
Enable TCP Loopback Fast Path; where the IP layer is skipped, for lower
latency for localhost comms, like HttpPlatformHandler+IIS reverse proxy

http://blogs.technet.com/b/wincat/archive/2012/12/05/fast-tcp-loopback-performance-and-low-latency-with-windows-server-2012-tcp-loopback-fast-path.aspx

Have to do it this way due to open issue in libuv

Loopback fast path: libuv/libuv#489

Related: "Confirm HttpPlatformHandler uses Fast TCP Loopback"
aspnet/IISIntegration#29
2016-02-14 04:44:20 +00:00
Ben Adams b473402cb1 Fast header clear 2016-02-13 11:49:00 +00:00
Ben Adams f8aa1a676a Pass ServerInformation as property of ServiceContext 2016-02-13 05:51:54 +00:00
Ben Adams 460dbb15c2 RO Headers & rationalise exceptions 2016-02-13 03:35:26 +00:00
Ben Adams e533d5da89 Fast path Consume when already complete 2016-02-13 01:52:16 +00:00
Ben Adams c293bbbd1a Reuse headers to prevent values moving to higher GC gens 2016-02-13 01:16:17 +00:00
Stephen Halter f89c959f4f Merge branch 'benaadams/no-spin' into dev 2016-02-12 10:54:48 -08:00
moozzyk fe75aa47db Enabling Kestrel on OSx Mono when not running with dnx
Before moving to dotnet dnx on OSx on Mono would load libuv.dll into the process and Kestrel would use DllImport with __Internal to import functions from the native libraries loaded into the Mono process. With the move to dotnet nothing is preloading libuv to the process so Kestrel must no longer use DllImports with __Internal but the regular ones. Mono seems to load native libraries from the app folder so, the user won't have to install libuv on their own since libuv.dylib is published with the app.
2016-02-11 16:05:32 -08:00
moozzyk edff3a563c Adding messages showing that the tool is running 2016-02-11 10:55:43 -08:00
moozzyk 971667e7da Strong naming dotnet-publish-iis 2016-02-11 10:48:05 -08:00
Pranav K 99fbeb6ac3 Reacting to CoreCLR package version changes 2016-02-08 09:33:51 -08:00
Pranav K c5a8792ece Reacting to CoreCLR package version changes 2016-02-08 09:33:46 -08:00
Pranav K 76c20aa010 Reacting to CoreCLR package version changes 2016-02-08 09:33:46 -08:00
Pranav K 4bef698f3b Reacting to CoreCLR package version changes 2016-02-08 09:33:43 -08:00
Pranav K 4e68e8f3ab Reacting to CoreCLR package version changes 2016-02-08 09:33:41 -08:00
N. Taylor Mullen cdf1d1f6c6 Update project.json to remove redundant System.Runtime dependency.
- This package is pulled in transitively.
2016-02-05 17:23:13 -08:00
N. Taylor Mullen e0fbc6e2c2 Update project.json to remove redundant System.Runtime dependency.
- This package is pulled in transitively.
2016-02-05 17:22:05 -08:00
moozzyk 186c26f6a1 Adding ASPNET_APPLICATIONBASE environment variable to fix MVC views in IIS 2016-02-03 13:05:12 -08:00
Victor Hurdugaci f452597452 Add Microsoft.NETCore.Platforms to the projects that have to be built with dnu 2016-02-02 12:44:07 -08:00
John Luo 2fd1490c4a Relocating dependencies 2016-02-01 18:33:21 -08:00
John Luo 82e17ce2b6 Removing redundant dependencies 2016-02-01 17:58:41 -08:00
John Luo 33629c5fc0 Updating to new CLI 2016-02-01 17:04:37 -08:00