Commit Graph

16116 Commits

Author SHA1 Message Date
Chris R 5e7b30c04b #542 Add IHttpConnectionFeature.ConnectionId 2016-02-18 11:08:05 -08:00
Cesar Blum Silveira aa48ad2933 Merge branch 'benaadams/loopback-fastpath' into dev 2016-02-18 10:52:42 -08:00
Pranav K 2281d8cf89 Fix missing parantheses 2016-02-18 10:50:39 -08:00
Pranav K 03266b4b2a Don't return if no volatile feeds are found. 2016-02-18 10:26:58 -08:00
Pranav K 53eb708a8b Add support for Coherence build 2016-02-18 09:57:30 -08:00
Doug Bunting 478edc1735 Pool `char`s used for base64url-encoding and -decoding
- #23 part 4
- depends on aspnet/HttpAbstractions@8c120a0

nits:
- correct name of a field in `AntiforgerySerializationContext`
- avoid allocations when returning an `AntiforgerySerializationContext` in (unlikely) case `Stream` is unused
- name literal `int` parameters
2016-02-17 23:17:15 -08:00
Doug Bunting 8c120a0792 Extend `WebEncoders` API to avoid allocations within the methods
- rewrite existing methods in terms of the new ones
- don't allocate multiple 0-length arrays

nits:
- clarify a couple of doc comments e.g. using `<paramref/>`
- move an error message into a resource
 - pass parameter names into new resource
- rename parameters for consistency e.g. `inputLength` -> `count`
- name literal `int` parameters
- more `var`
2016-02-17 23:13:33 -08:00
Ajay Bhargav Baaskaran 8bde9b7e72 Enabled xml doc generation 2016-02-17 16:57:39 -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 04736e1d09 Remove FrameworkSkipConditions for Mono
- Maybe things are better now with graceful shutdown *crosses fingers*
2016-02-17 16:05:37 -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
Nate McMaster 1a94903930 Execute tests for net451 and/or dnx451 2016-02-17 15:49:22 -08:00
Ajay Bhargav Baaskaran 80ea4b9035 Enabled xml doc generation 2016-02-17 15:40:13 -08:00
Chris R 5061848e9e Add IHttpConnectionFeature.ConnectionId. 2016-02-17 13:28:02 -08:00
Ajay Bhargav Baaskaran c2f4bd0be5 Enabled xml doc generation 2016-02-17 12:12:44 -08:00
ryanbrandenburg a8dbf6a255 * Add logging for other IAntiforgery public methods 2016-02-17 11:57:50 -08:00
Doug Bunting 5d8231ee0d `OwinExtensions.UseBuilder()` should not leave `ApplicationServices` or `RequestServices` `null`
Also correct tests to avoid warnings and to ensure scenarios are actually tested
- tests previously went `async` without waiting for completion

nit: add parameter `null` checks
2016-02-17 11:31:02 -08:00
Ben Adams ffa8f3f092 Helper function for test socket creation 2016-02-17 03:59:59 +00:00
John Luo 6aa848dd93 Convert TFM to net451 to allow custom test discovery 2016-02-16 17:59:17 -08:00
Victor Hurdugaci 59cb4fe65a dnx-watch -> dotnet-watch 2016-02-16 15:33:20 -08:00
Kiran Challa b4438c0559 Enable publishing to IIS 2016-02-16 13:52:21 -08:00
Ajay Bhargav Baaskaran 220479c1a1 [Fixes #30] Updated UID generation in DefaultClaimUidExtractor 2016-02-16 10:14:52 -08:00
David Fowler 0633690715 Simplify resolve path check 2016-02-13 22:47:07 -08:00
N. Taylor Mullen 3b4b3b8ca2 Remove System.Runtime dependency.
- This dependency is now pulled in transitively.
- It was temporarily re-added due to a DNX bug.
2016-02-13 22:05:25 -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
SteveSandersonMS 30cb9d3fa3 Stock WebApplicationBasic output from "yo aspnet" 2016-02-12 17:16:02 -08:00
Ryan Nowak ac107b5371 Make IsRequestValid check HTTP method
This code was popping up everywhere this method is called. Seems bad to
duplicate it. Really what the caller wants to know is 'is the request
valid or a potential CSRF exploit?'. This gets the API closer to that.
2016-02-12 16:52:25 -08:00
Pranav K 9dab5ae5ff Change project.json to let CI manage build quality 2016-02-12 15:07:54 -08:00
Kiran Challa de7475cc33 Updated per KB 3137909. 2016-02-12 14:47:50 -08:00
SteveSandersonMS 8a412a5af3 Implement simple Webpack setup 2016-02-12 14:22:37 -08:00
SteveSandersonMS 778e6402d5 Roughly empty starting point for Webpack demo 2016-02-12 14:22:37 -08:00
Brennan 378cc97bd0 Remove Mvc CodeGenerator 2016-02-12 13:27:04 -08:00
Kiran Challa 0da12619cd [Fixes #589] Remove TestMiddleware 2016-02-12 11:23:59 -08:00
Stephen Halter f89c959f4f Merge branch 'benaadams/no-spin' into dev 2016-02-12 10:54:48 -08:00
Pranav K 9b245c032b Use build versions in project.json 2016-02-12 10:37:08 -08:00
Kiran Challa cf6d7f9a56 Enabled tests to run in dotnet xunit runner 2016-02-11 17:19:13 -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
Brennan 314bc21413 Add missing framework assemblies 2016-02-11 13:29:58 -08:00
Kristian Hellang cb09ffccce Changed SaveAs[Async](string) to CopyTo[Async](Stream) 2016-02-11 12:11:42 -08:00
Pranav K 6a7289d52e Continue deleting ni files on Linux until a new CLI is available 2016-02-11 11:07:11 -08:00