Commit Graph

2652 Commits

Author SHA1 Message Date
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
John Luo 20ed43fd68 Updating to new CLI 2016-02-01 15:02:26 -08:00
Cesar Blum Silveira 6757a31fd2 Build with dotnet (#571). 2016-02-01 14:37:47 -08:00
Cesar Blum Silveira 1209eca3fa Normalize request path to NFC and resolve dot segments (#273). 2016-01-28 15:29:29 -08:00
Pranav K 690c42c199 Add dependency on System.Runtime.Serialization.Primitives to make up for JSON.NET not including it
Fixes https://github.com/aspnet/Mvc/issues/3946
2016-01-28 11:13:17 -08:00
Brennan 1fd703e56f React to Logging API changes 2016-01-27 14:39:00 -08:00
Brennan 15ed03eb26 React to Logging API changes 2016-01-27 14:25:52 -08:00
Stephen Halter a2fe59fb2c Speed up unit tests
- Remove unnecessary uses of Task.Delay
- Change all usages to CancellationToken.None to default(CancellationToken)
  for consistency
2016-01-27 13:01:44 -08:00
Ben Adams 00b8a13b55 Merge+rename+rename resolve 2016-01-26 11:33:14 +00:00
Ben Adams 9f2d685cbf Merge remote-tracking branch 'refs/remotes/aspnet/shalter/always-immediate' into combined-fixes 2016-01-26 02:15:56 +00:00
Pranav K 68b5c950c9 Temporarily revert "Adding messages showing that the tool is running" until we can sort out fetching packages
This reverts commit 824acd1ace.
2016-01-25 11:15:43 -08:00
Stephen Halter a4b8b01c99 Remove immediate parameter from Frame.ProduceStart
- Simply call SocketOutput.WriteAsync(_emptyData) to force headers to be flushed
2016-01-25 11:09:15 -08:00
Stephen Halter 7570da9daa Flush chunked writes before the entire response completes
Ensure chunked writes force an "immediate" write by removing the now
unused immediate parameter from ISocketOutput.Write
2016-01-25 10:34:15 -08:00
moozzyk 824acd1ace Adding messages showing that the tool is running 2016-01-25 10:23:58 -08:00
moozzyk bed9432275 Adding creating Azure specific configuration 2016-01-25 10:17:11 -08:00
moozzyk 674efca4de Adding HttpPlatformHandler logging defaults to web.config
- writing a default path to log file if one does not exist
 - setting stdoutLogEnabled to false if the attribute does not exist
2016-01-25 10:17:10 -08:00
Brennan 3fce15bc6a React to Logging API changes 2016-01-25 09:35:11 -08:00
Ben Adams 3f414782b9 Remove spinning for blocked socket ops
As per https://github.com/dotnet/corefx/pull/5655
2016-01-24 14:49:25 +00:00
Ben Adams de34d14abb WriteChunked immediate for large responses 2016-01-23 10:48:24 +00:00
Ben Adams 0ca8ca0328 Update FrameResponseStream Cancellation 2016-01-23 10:17:09 +00:00
Stephen Halter 735c0fbbef Added new test to verify failed writes complete all pending write tasks
- Changed MockLibuv to never fall back to real libuv methods.
- Fixed EngineTests.ConnectionCanReadAndWrite
2016-01-23 10:17:07 +00:00
Ben Adams e5238ff383 Only log connection error once 2016-01-23 10:17:06 +00:00
Ben Adams cd621509d0 Complete all writes after error 2016-01-23 10:17:05 +00:00
Ben Adams a97cb81f92 MockConnection Abort 2016-01-23 10:17:03 +00:00
Ben Adams 73bb0ab5b8 SocketOutput Cancellation handling 2016-01-23 10:17:02 +00:00
N. Taylor Mullen 342676925f Update ASP.NET 5 versions for ASP.NET Core.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:39:12 -08:00
N. Taylor Mullen 43dfd15a01 Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:32:33 -08:00
N. Taylor Mullen 9beb46dff1 Update ASP.NET 5 versions for ASP.NET Core.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:28:42 -08:00
N. Taylor Mullen e28aa5f568 Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:24:49 -08:00
N. Taylor Mullen 5227607c58 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:24:46 -08:00
N. Taylor Mullen 3541bb01c2 Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:23:57 -08:00
N. Taylor Mullen 9cec1b4e10 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:23:55 -08:00
N. Taylor Mullen b062f851dc Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:23:51 -08:00
N. Taylor Mullen 3cfe2f3070 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:23:44 -08:00
N. Taylor Mullen e2801d6c20 Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:20:58 -08:00
N. Taylor Mullen 582e222c2b Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:20:54 -08:00
N. Taylor Mullen 79558ae8d3 Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:19:23 -08:00
N. Taylor Mullen c564dfd202 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:19:22 -08:00
N. Taylor Mullen b87a8001fe Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:16:08 -08:00
Victor Hurdugaci 3e2798957a Exit on change option 2016-01-22 11:44:56 -08:00
Brennan d20b14d846 React to Fileproviders namespace changes 2016-01-21 16:48:58 -08:00
Pranav K 91ee0f323b Reacting to CoreCLR package version change 2016-01-20 21:03:04 -08:00
Pranav K 40bbad4262 Reacting to CoreCLR package version change 2016-01-20 20:59:53 -08:00
Pranav K 40824999c6 Reacting to CoreCLR package version change 2016-01-20 20:58:22 -08:00
Pranav K 9a05ea80c4 Removing System.Runtime.Extensions 2016-01-20 20:47:18 -08:00
Pranav K c8aa4c2c51 Reacting to CoreCLR version changes 2016-01-20 20:39:57 -08:00
Chris R c157d601a2 Avoid merging with anonymous users. 2016-01-20 16:29:20 -08:00
Stephen Halter 8ea24f05f4 Merge branch 'benaadams/reduce-sync-over-async' into dev 2016-01-19 16:35:51 -08:00
Ben Adams fa8fe3d085 Complete sync-blocked calls directly 2016-01-19 22:38:08 +00:00
Brennan 63cd6149d1 Removed IsLocal from ConnectionInfo 2016-01-19 08:37:47 -08:00
Ben Adams d3d9c8d546 Write async chunks async 2016-01-18 13:39:13 +00:00
John Luo 488187ff79 Reacting to hosting rename 2016-01-17 16:33:48 -08:00
Pranav K 9ad62d7963 Updating to Newtonsoft.Json 8.0.2 2016-01-15 15:36:29 -08:00
moozzyk 4d4dfedd59 dotnet-publish-iis refactoring
- moving command logic to a dedicated class
- adding logic for reading webroot value from a parameter, hosting.json file and folder structure
- reading application name from project.json instead of a parameter
2016-01-15 10:36:38 -08:00
Stephen Halter 129a5ad474 Bypass LibuvStream if no ConnectionFilter wraps it 2016-01-14 15:28:54 -08:00
Stephen Halter e5ad019575 Revert "Merge branch 'benaadams/copyfrom-perf' into dev"
This reverts commit ce61282320, reversing
changes made to 7ef70bc145.
2016-01-14 11:47:23 -08:00
Chris R 3458f80ec4 Rename windows auth forwarder header to MS-PLATFORM-HANDLER-WINAUTHTOKEN. 2016-01-14 10:29:39 -08:00
Pranav K 1dba1cc661 Bumping Json.Net version to 8.0.1 2016-01-13 18:25:44 -08:00
Chris R cc1cb1d480 #27 Forward client certificates. 2016-01-13 15:07:14 -08:00
Stephen Halter ce61282320 Merge branch 'benaadams/copyfrom-perf' into dev 2016-01-12 14:24:35 -08:00
moozzyk b2a3f871c0 Microsoft.AspNet.Tools.PublishIIS -> dotnet-publish-iis
Renaming Microsoft.AspNet.Tools.PublishIIS to dotnet-publish-iis as this is the convention dotnet tools must follow
2016-01-12 14:15:21 -08:00
Ben Adams caaf9d473b Faster CopyFrom 2016-01-12 21:43:37 +00:00
Chris R 0589b883b8 #14, 52 Add IWebApplicationBuilder.UseIISPlatformHandlerUrl, include path base 2016-01-12 13:33:21 -08:00
Stephen Halter 7ef70bc145 Merge branch 'anderman/FindFirstByteFast' into dev 2016-01-12 12:51:50 -08:00
Stephen Halter d9f6ac70a0 Merge branch 'benaadams/using-reorder' into dev 2016-01-12 12:15:54 -08:00
Stephen Halter f32f1c4440 Merge branch 'henkollema/projectjson' into dev 2016-01-12 12:14:35 -08:00
Stephen Halter ab5ef547e1 Make chunked writes atomic 2016-01-11 16:53:46 -08:00
Stephen Halter daa2b7e383 Remove _tasksCompleted from SocketOutput
- _tasksCompleted no longer helps avoid locking longer
2016-01-11 12:40:01 -08:00
Stephen Halter df695accb0 Use TryEnter to acquire SocketOutput._contextLock on the libuv event loop 2016-01-11 12:39:59 -08:00
Stephen Halter e90b61e6c5 Move call to CopyFrom in SocketOutput.WriteAsync inside lock to make writes atomic 2016-01-11 12:39:57 -08:00
Ben Adams 8ac119df76 using reorder (nit) 2016-01-11 19:02:51 +00:00
Thom Kiesewetter 1b09a76ebb Find First Byte Fast 2016-01-11 08:31:52 +01:00
clrjunkie 63e39a257e One-time-use allocated blocks keep reference to source pool / Assert that a block is returned to it's source pool / Managed block are only returned to active Slabs 2016-01-09 19:41:35 +02:00
clrjunkie 8260e5d93f Remove null-conditional operators and asserts (Blocks must return to pools) 2016-01-09 19:36:26 +02:00
John Luo 11025b894e Updating to new options pattern 2016-01-08 17:06:11 -08:00
moozzyk deca0f3bef fixing build 2016-01-08 16:35:37 -08:00
Stephen Halter 849ff2016c Use object.ReferenceEquals when comparing Actions in SocketInput 2016-01-08 15:40:07 -08:00
John Luo d8b6b27a5d Adding publish iis as a project and minor cleanup 2016-01-08 14:55:38 -08:00
Stephen Halter b63dd40efb Protect SocketInput against concurrent consumption 2016-01-08 11:14:15 -08:00
Stephen Halter f3a39d98da Merge branch 'benaadams/socket-input' into dev 2016-01-08 11:12:43 -08:00
moozzyk ae61490092 publish-iis command 2016-01-08 10:29:40 -08:00
John Luo cd813844a0 Updating to new options pattern 2016-01-07 16:37:39 -08:00
Henk Mollema b4b5f07a08 Detect mono using PlatformAbstractions 2016-01-07 00:48:36 +01:00
Henk Mollema db11368d26 Remove StandardsPoliceCompileModule usage
Just a test - this seems to fix the build
2016-01-07 00:35:51 +01:00
Henk Mollema e81c5adce2 Change #ifdefs 2016-01-07 00:35:50 +01:00
Henk Mollema 97a5149dd9 Remove dnx451 and dnxcore50 TFM's 2016-01-07 00:35:49 +01:00
Brennan 54ae0b9296 Unsource CommandLineUtils 2016-01-06 13:19:33 -08:00
Stephen Halter ffd950966e Merge branch 'benaadams/string-construct' into dev 2016-01-06 12:14:15 -08:00
Stephen Halter c4605bea20 Merge branch 'benaadams/pendingwrites' into dev 2016-01-05 12:57:23 -08:00
Stephen Halter b1a4e8cd1e Merge branch 'anderman/faster-unsafe' into dev 2016-01-05 12:33:14 -08:00
Stephen Halter 48233cd081 Merge branch 'benaadams/memorypool-seek' into dev 2016-01-05 12:09:04 -08:00
Ben Adams bc19a07291 ifdef comments on own line 2016-01-05 12:08:39 -08:00
sergey-tom 406d785b5e Fix typo
Looks like value from wrong variable is passed to Marshal.FreeHGlobal method. So IntPtr.Zero is passed to the method and actual pointer is lost.
2016-01-05 15:14:49 +01:00
Ben Adams e6bc0bc335 Only scheduleWrites on the threadpool 2016-01-05 11:42:41 +00:00
Ben Adams 480996433e Only queue write when not queued 2016-01-05 11:33:29 +00:00
Ben Adams 4c39800ea4 Seek perf extra
See https://github.com/aspnet/KestrelHttpServer/issues/541
2016-01-05 09:37:50 +00:00
Ben Adams 1eda5178de Seek perf + faster non vector path 2016-01-05 09:37:49 +00:00
Cesar Blum Silveira 7cc51959d9 Merge branch 'Anderman/TakeStartLine' into dev 2016-01-04 13:54:51 -08:00
Cesar Blum Silveira a53949c33e Add CORS headers to known headers (#389). 2016-01-04 12:26:21 -08:00
Stephen Halter 11e046e017 Merge branch 'benaadams/name-thread' into dev 2016-01-04 11:55:53 -08:00
Ben Adams cf77efc2ff Fast path pre-completed Input reads 2016-01-02 03:57:02 +00:00
Ben Adams afe944c053 Simplify SocketInput, remove locks, only use pooled blocks 2016-01-02 03:50:55 +00:00
David Fowler 4f8ec86b54 React to HttpAbstractions changes 2015-12-31 14:04:47 -08:00
Pranav K 984fe02eb8 Rename IHtmlContentBuilder.Append(IHtmlContent) to IHtmlContentBuilder.AppendHtml(IHtmlContent)
Fixes #4
2015-12-31 10:53:48 -08:00
Stephen Halter 5296d89337 Merge branch 'benaadams/messagebody.for' into dev 2015-12-30 17:38:48 -08:00
Stephen Halter 072f2b1a20 Merge branch 'benaadams/valuetask' into dev 2015-12-30 16:51:48 -08:00
Thom Kiesewetter 36e9e8759a Optimize TakeFirst Line with Known method and Version 2015-12-31 01:24:59 +01:00
Ben Adams ea3e64ab87 Loop unrolled direct string inject 2015-12-30 23:09:59 +00:00
Cesar Blum Silveira 6fbb9a0cfe Cleanup: private embedded types and readonly where appropriate (#187). 2015-12-30 12:47:13 -08:00
Ben Adams f7ac457b40 Use ValueTask 2015-12-30 19:41:55 +00:00
Ben Adams 5c58d48272 Name KestrelThreads
Helps with debugging, profiling
2015-12-30 13:06:27 +00:00
Pranav K 46f64dfa20 * Remove EncoderServiceProviderExtensions 2015-12-29 18:39:39 -08:00
Cesar Blum Silveira acc80bcbc5 Merge branch 'benaadams/take' into dev 2015-12-29 11:46:24 -08:00
Thom Kiesewetter 8fdfef460a Faster unsafe pointers 2015-12-29 15:03:52 +01:00
Ben Adams 80dc284407 Checked length 2015-12-29 08:52:05 +00:00
Ben Adams 9019ac39ae Faster Take 2015-12-29 00:46:45 +00:00
Cesar Blum Silveira 0f389f01cb Merge branch 'benaadams/peek' into dev 2015-12-28 16:14:27 -08:00
Cesar Blum Silveira 1eeb0e380c Merge branch 'benaadams/generic-boxing' into dev 2015-12-28 15:46:30 -08:00
Ben Adams 982ab99b45 Make callback adapters readonly 2015-12-28 23:02:41 +00:00
Cesar Blum Silveira 67ed24896a Dispose socket on Accept() error. 2015-12-28 12:19:35 -08:00
Ben Adams eb8f860bd6 Avoid generic boxing in Post 2015-12-26 15:07:00 +00:00
Ben Adams f220a9f200 Faster Peek 2015-12-26 07:38:08 +00:00
Ben Adams 11b360b667 Faster MessageBody.For 2015-12-26 07:11:54 +00:00
John Luo 8872037812 Adding back middleware initialization with options instance 2015-12-23 15:43:52 -08:00
John Luo 460b0c993a Adding back middleware initialization with options instance. 2015-12-23 15:43:05 -08:00
Pranav K b4239550f3 Move Microsoft.Extensions.WebEncoders to HtmlAbstractions 2015-12-23 09:29:32 -08:00
John Luo 6d202b0fdf Standardizing middleware to use configureOptions lambda 2015-12-22 20:42:09 -08:00
Cesar Blum Silveira ada61f8181 Merge branch 'benaadams/readonly-static' into dev 2015-12-22 11:12:00 -08:00
John Luo fe41412eeb Stardardizing option initialization using lambdas 2015-12-21 16:44:01 -08:00
Hao Kung f073d0556b React to OptionsModel => Options 2015-12-21 14:47:58 -08:00
moozzyk aaf84afaff Don't try calling `uname` on Windows 2015-12-21 10:25:48 -08:00
Ben Adams 02fa0c306d Jit readonly static optimization 2015-12-20 00:34:42 +00:00
Chris R 3809613618 Add missing System.ComponentModel dependency. 2015-12-17 15:37:20 -08:00
John Luo bd10d507f8 Reacting to new Hosting API 2015-12-17 15:08:17 -08:00
Cesar Blum Silveira 717b355bfd Merge branch 'benaadams/horizontal-initalize' into dev 2015-12-17 14:37:48 -08:00
Ben Adams 7625f65e6c Faster MemoryPoolIterator2.CopyFrom 2015-12-17 11:32:01 +00:00
Ben Adams 186f6d0a05 Horizontal initialize repeat vectors once 2015-12-17 10:18:20 +00:00
Stephen Halter 5d6fdc5eb5 Merge branch 'benaadams/vector.dot' into dev 2015-12-16 17:39:40 -08:00
Stephen Halter 67a0165aec Merge branch 'benaadams/headers.clearfast' into dev 2015-12-16 15:48:01 -08:00
Ben Adams 559cd51255 Faster Headers.ClearFast 2015-12-16 22:23:33 +00:00
Ben Adams 9fa9c45eda ReuseStreams config and tests 2015-12-16 21:27:07 +00:00
Ben Adams 841ec73497 Prevent OnComplete modifying Streams 2015-12-16 20:51:45 +00:00
Ben Adams f5e45accac Amortize Stream Costs 2015-12-16 20:51:44 +00:00
Cesar Blum Silveira 349af50977 Pre-allocate standard method and version strings. 2015-12-16 10:47:59 -08:00
Ben Adams 4460cd3470 Don't use Vector<byte>.Dot 2015-12-16 16:24:45 +00:00
Doug Bunting 234073cf6e Make `HtmlEncodedString` a suitable base for MVC's `HtmlString`
- #5
- provide `ToString()` implementation
- add missing `null` checks in `WriteTo()`; remove extraneous one in the constructor
- special-case `HtmlEncodedString` in `IHtmlContentBuilder.AppendFormat()` extension method

nits:
- ignore more files
- add missing `null` checks in `HtmlContentBuilderExtensions` too
2015-12-15 15:27:40 -08:00
moozzyk 83cff16715 Changing the folder of ARM version of libuv to win7-arm
Depends on: https://github.com/aspnet/libuv-build/pull/4
Fixes: https://github.com/aspnet/Home/issues/1111
2015-12-15 10:37:29 -08:00
Brennan cbc201ac26 Remove unused OnExecute 2015-12-15 08:53:41 -08:00
Ben Adams dc9f5c433b Update reason phrases to current
Update HTTP reason phrases to current values; are currently original
phrases.
2015-12-13 23:17:03 +00:00
Pavel Krymets e0d3d7e85d Catch and display project validation exceptions correctly 2015-12-11 14:13:56 -08:00
Ben Adams 5665eba646 Pool WriteContexts additionally 2015-12-10 20:31:30 +00:00
Stephen Halter 3e42904096 Pool UvWriteReqs instead of SocketOutput.WriteContexts
- This allows all connections accepted by the same thread to share a pool
2015-12-10 20:31:30 +00:00
Ben Adams 992664e0dc Process cascaded work immediately
Without waiting for next libuv pass

Fix for potential regression in #363 due to bug fix.
2015-12-10 20:31:29 +00:00
Ben Adams 97d3340624 Resuse writes, initalize queues 2015-12-10 20:31:28 +00:00
Stephen Halter f9d70e601c Set error before changing state in SocketInput.AbortAwaiting
- This fixes a tight race where awaiting code might continue but not see
  the ODE that moved SocketInput into the completed state.
2015-12-10 12:21:20 -08:00
Stephen Halter f42bb02f24 Merge branch 'benaadams/server-crash' into dev 2015-12-10 12:18:13 -08:00
Brennan 41cd7bf45e Remove display name for Negotiate and Ntlm 2015-12-10 10:19:13 -08:00
Ben Adams 9e8b07ecf8 Error concurrent reads gracefully 2015-12-10 16:25:06 +00:00
John Luo fd33475c05 Ignore null valued headers #429 2015-12-09 17:23:34 -08:00
Stephen Halter ebf642457d Merge branch 'khellang/kestrel-server-tests' into dev 2015-12-09 15:27:51 -08:00
Stephen Halter dd02a1c442 Fix compiler warnings 2015-12-08 17:31:57 -08:00
Kristian Hellang 6fbc3b8832 Added null check in KestrelServerInformation 2015-12-08 10:58:42 +01:00
Stephen Halter 90ece575f7 Merge branch 'khellang/configurable-thread-count' into dev 2015-12-08 00:13:56 -08:00
Stephen Halter de5dd4ca57 Merge branch 'benaadams/trim-streams' into dev 2015-12-08 00:11:29 -08:00
Stephen Halter d0dca75241 Remove count parameter from ISocketOutput.ProducingComplete
- This makes the calling code cleaner with a (hopefully) minimal pref impact
2015-12-08 00:09:24 -08:00
Pranav K 6fabd6f064 Removing unused dependencies 2015-12-07 19:09:28 -08:00
John Luo dff3a4f231 Reacting to verbose rename 2015-12-07 17:42:13 -08:00
Hisham Bin Ateya 29b90ea070 Simplify AuthenticationHandler using LINQ 2015-12-07 14:01:57 -08:00
Kristian Hellang 4c68807a05 Split out ProcessorThreadCount, added InvariantCulture to TryParse 2015-12-07 22:14:05 +01:00
Kristian Hellang 8d6a999bc3 Made NoDelay configurable 2015-12-07 22:09:04 +01:00
Kristian Hellang 12ee74c09c server.threadCount -> kestre.threadCount 2015-12-07 22:00:03 +01:00
John Luo 79fca22b3b Reacting to verbose rename 2015-12-07 11:58:53 -08:00
Chris R f8ff2cd6d1 Remove x-fowarded-for and x-forwarded-proto. 2015-12-07 10:10:31 -08:00
Ben Adams 59bfb9ba10 Trim req/resp streams by a field each 2015-12-07 15:31:14 +00:00
Kristian Hellang b6b8ea3c38 Made ThreadCount configurable 2015-12-07 15:38:06 +01:00
Kristian Hellang 75cfe2c3bb Moved GetThreadCount into KestrelServerInformation 2015-12-07 15:38:05 +01:00
Stephen Halter 706ff04160 Merge branch 'benaadams/statemachines' into dev 2015-12-07 00:07:14 -08:00
Stephen Halter c451ce1863 Merge branch 'khellang/thread-count-init' into dev 2015-12-06 23:32:57 -08:00
Kristian Hellang 5eaa7e51c8 Initialize ThreadCount as early as possible
This will allow you to inspect the property
in the Configure method.

Closes #404
2015-12-04 20:55:37 +01:00
Ben Adams 35a06369d7 Pooled block always has pool 2015-12-04 08:23:12 +00:00
Stephen Halter 1c320d7a74 Merge branch 'benaadams/dont-use-default-buffer-size' into dev 2015-12-03 18:28:24 -08:00
Stephen Halter 737aac4cfc Merge branch 'benaadams/over-the-edge' into dev 2015-12-03 18:28:05 -08:00
John Luo 78cacfe20b Reacting to verbose rename 2015-12-03 16:28:10 -08:00
Ben Adams 858e5ab3a2 Moar stopping power, Timeout is total timout 2015-12-03 23:37:54 +00:00
Pavel Krymets 086f87a356 React to abstraction changes 2015-12-03 14:18:49 -08:00
Ben Adams 1ca67695ed Use pooled memory for filtered stream 2015-12-03 19:17:40 +00:00
Ben Adams 9af9dea72c Smaller default buffer 2015-12-03 18:46:43 +00:00
Ben Adams c41b449681 Lighter & less async sMachines
Selected excerpts from "Value tasks + Less Async" #432
2015-12-03 11:10:20 +00:00
Ben Adams b1e8f0cdea Add IThreadPool interface 2015-12-03 10:37:52 +00:00
Ben Adams 850d2b0c7e Construct ThreadPoolActions in KestrelServer 2015-12-03 09:56:21 +00:00
Ben Adams 5ae9b3c383 Log user code threadpool continuation execptions 2015-12-03 09:56:21 +00:00
Stephen Halter 10490888d3 Merge branch 'tenor/speed-up-date' into dev 2015-12-02 19:52:48 -08:00
Stephen Halter b84d8dbd07 Minor style changes to tenor/speed-up-date
- Removed some code required to support sub-second timer intervals
2015-12-02 19:50:55 -08:00
Stephen Halter 7cbbf68e9d Merge branch 'benaadams/connectionfilter' into dev 2015-12-02 19:21:05 -08:00
Stephen Halter bb2c17a779 Merge branch 'benaadams/req-delegate' into dev 2015-12-02 19:17:16 -08:00
Ben Adams a55be21469 Empty buffer when null buffer 2015-12-03 02:10:36 +00:00
Doug Bunting 1b0e2e50e1 Restore previous package name: `Microsoft.AspNet.Html.Abstractions`
nit: add a couple of solution items
2015-12-02 09:59:27 -08:00
Ben Adams b7c60de98a Don't allocate request processing delegate 2015-12-02 15:23:09 +00:00
Pranav K f9661e2bf1 Initial commit 2015-12-01 15:36:17 -08:00
John Luo 168f4770f4 Reacting to new IServer and IHttpApplication design 2015-12-01 13:03:46 -08:00
Stephen Halter 0c33cad343 Merge branch 'benaadams/kestrel-thread-api' into dev 2015-12-01 12:20:41 -08:00
Sunny Ahuwanya 6251b8f3e6 Changed timer interval to 1 second. 2015-12-01 09:29:54 -05:00
Cesar Blum Silveira 921c338a40 Support PathBase (#214). 2015-11-30 16:42:02 -08:00
Ben Adams 9102c1bb92 Remove unused IMemoryPool 2015-11-29 10:13:14 +00:00
Ben Adams 2937fc3c98 OnConnection->OnConnectionAsync
Resolves  #433
2015-11-29 03:57:47 +00:00
Sunny Ahuwanya 67a0f2d420 Reverted ISystemClock to use DateTimeOffset 2015-11-28 21:27:51 -05:00
Sunny Ahuwanya 7f025a6bd4 Speed up DateHeaderValueManager
Replaced PumpTimer() method with StartTimer(), introduced StopTimer()
method which pauses timer when idle instead of disposing it,
ISystemClock returns DateTime instead of DateTimeOffset.
2015-11-28 20:15:17 -05:00
David Fowler ea7f40c592 Merge pull request #408 from benaadams/CancellationTokenSource
Remove CreateLinkedTokenSource
2015-11-25 01:32:04 -08:00
Pavel Krymets cc384ff272 Add an option to disable windown auth 2015-11-24 10:56:34 -08:00
Stephen Halter 07c0b414f0 Merge branch 'benaadams/faster-headers' into dev 2015-11-23 15:10:24 -08:00
Ben Adams 81dba3961d less work in locks 2015-11-21 14:13:23 +00:00
stephentoub c7d7f0e575 Lazily allocate the RequestAborted CTS
Avoid allocating the CancellationTokenSource unless it's actually requested.  This makes it pay-for-play with regards to code that actually asks for the RequestAborted token and requests that are aborted.
2015-11-21 08:38:48 -05:00
Cesar Blum Silveira e4fd91bb68 Fix hang on Connection: close requests. (#406) 2015-11-20 20:43:52 -08:00
Ben Adams feb40402de merge preamble-output, socket-output 2015-11-21 04:18:06 +00:00
Ben Adams a3173c487a Precomputed header bytes 2015-11-21 00:22:44 +00:00
Pranav K ca3e4669dc Updating tests to use moq.netcore 2015-11-20 14:40:50 -08:00
Stephen Halter 0dbf108353 Smarter unpinning of MemoryPoolBlock2 in SocketOutput 2015-11-20 12:59:53 -08:00
Stephen Halter 2572256d3f Use MemoryPool2 for SocketOutput Buffers
Add ProducingStart and ProducingComplete methods to ISocketOutput.
These new methods can help prevent double buffering when encoding.
2015-11-20 04:41:33 -08:00
Ben Adams 9d852632c0 Remove _nullBuffer
Was meant to be removed as part of #335

/cc @rynowak
2015-11-20 05:51:25 +00:00
Ben Adams 174ec739bb Don't log ODEs thrown from _abortedCts.Cancel 2015-11-20 00:30:08 +00:00
Chris R 1c40548928 Add LoggingConnectionFilter. 2015-11-19 16:28:45 -08:00
Ben Adams 3c7431aa35 Change disconnect to abort cts 2015-11-19 23:25:31 +00:00
Ben Adams 58d8c851c5 Remove CreateLinkedTokenSource
Resolves  #407
2015-11-19 21:50:10 +00:00
Cesar Blum Silveira 307e020703 Don't crash the server if a connection filter throws synchronously. 2015-11-19 13:27:43 -08:00
Pavel Krymets 09f54d6857 Fix build 2015-11-18 12:38:28 -08:00
Pavel Krymets c48173c948 Add event ids to all log calls 2015-11-18 11:36:15 -08:00
Pavel Krymets 8ee803d255 Handle Remote header with ip and port correctly 2015-11-18 11:10:27 -08:00
Master T efec0feda2 Fix merge 2015-11-18 08:29:30 +01:00
Master T 2cdd659e67 Fix indentation 2015-11-18 05:11:57 +01:00
Master T 592d802fde Add test for https scheme, code cleanup 2015-11-18 05:06:30 +01:00
Master T 85eb6ab600 Code cleanup 2015-11-18 05:06:29 +01:00
Master T ba63c894be Remove Console.WriteLine 2015-11-18 05:06:28 +01:00
Master T 8e910baf04 Improve based on pull request feedback 2015-11-18 05:06:27 +01:00
Master T bed8c67181 Add SslProtocols option to HttpsConnectionFilter 2015-11-18 05:05:50 +01:00
Master T bd30f28dfd Implement client certificate authentication 2015-11-18 05:05:50 +01:00
Hao Kung 0b808ca75a ConfigureDP => AddDP 2015-11-17 13:46:52 -08:00
David Fowler b8f01cf674 Merge pull request #378 from benaadams/thread-count
Network thread count defaults
2015-11-17 07:34:29 -08:00
Stephen Halter 5d59a20178 Merge branch 'benaadams/no-delay' into dev 2015-11-16 20:56:26 -08:00
David Fowler b1a772f19c Merge pull request #393 from benaadams/patch-1
Disconnect is Debug not Error
2015-11-16 20:29:50 -08:00
David Fowler 9c47796ec0 Merge pull request #312 from benaadams/MemoryPoolIterator2-GetString
Reduce GetString allocs and conversions
2015-11-16 20:13:38 -08:00
Ben Adams 4dc4346fca Reduce GetString allocs and conversions 2015-11-17 03:46:09 +00:00
Stephen Halter f7a5c38f65 Follow common pattern for implementing IHttpRequestLifetimeFeature 2015-11-16 16:03:55 -08:00
Stephen Halter b73e42b617 Abort request on any write failure 2015-11-16 16:03:53 -08:00
Stephen Halter 874bd29ce1 Throw IOExceptions instead of ODEs after a request is aborted 2015-11-16 16:03:51 -08:00
Stephen Halter 062caf16be Support for IHttpRequestLifetimeFeature 2015-11-16 16:03:50 -08:00
Ben Adams 1cbb273b0d Corrected Exception messages 2015-11-16 16:03:48 -08:00
Ben Adams 5e883827e0 Explain why dispose can't be used 2015-11-16 16:03:46 -08:00
Ben Adams f60f6c92ca Stop streams on finish
Can't use dispose (or close) as can be disposed too early by user code

Resolves #263
2015-11-16 16:03:44 -08:00
David Fowler 5774cf9f1e Merge pull request #390 from benaadams/stack2queue
ConcurrentStack -> ConcurrentQueue
2015-11-16 15:36:29 -08:00
David Fowler 7ba0f7da19 Merge pull request #377 from benaadams/legacy
Result -> GetAwaiter().GetResult() for legacy
2015-11-16 12:13:45 -08:00
David Fowler e3a62ff09f Merge pull request #335 from benaadams/used-pool-array
Consume body without allocating or reading
2015-11-16 11:47:18 -08:00
Ben Adams 8941d4b620 Disconnect is Debug not Error
Resolves #392
2015-11-16 17:44:24 +00:00
Ben Adams 7691a7cc23 Improved Send100 Check 2015-11-16 06:43:49 +00:00
Ben Adams ecc439555e Reuse ReadAsync for Consume 2015-11-15 22:27:39 +00:00
Ben Adams 1589b54018 Early bail, completed tasks+Interlocked 2015-11-15 21:56:20 +00:00
Ben Adams f089abd337 Consume in single call 2015-11-15 21:39:36 +00:00
Ben Adams f48e6ba51a Add Async in method name 2015-11-15 21:28:36 +00:00
Ben Adams f7bdc5a4e9 Skip non-consumed rather than reading 2015-11-15 21:28:33 +00:00
Ben Adams bd6e181d93 ConcurrentStack -> ConcurrentQueue 2015-11-15 21:17:14 +00:00
Troy Dai 2e2dfd87c1 Fix byte[] array allocation in IsDarwin 2015-11-14 22:55:25 -08:00
Cesar Blum Silveira a3a49d21b8 Reset Frame.Scheme on each request (#366). 2015-11-13 16:05:10 -08:00
Ben Adams 96c1668c54 Result -> GetAwaiter().GetResult() for legacy 2015-11-13 20:08:59 +00:00
Ben Adams 558b0ae643 statics to instance 2015-11-13 20:08:11 +00:00
Ben Adams d82c571831 Trim exposed KestrelThread api 2015-11-13 20:08:11 +00:00
Ben Adams a95318c616 Network thread count defaults 2015-11-13 20:00:32 +00:00
Ben Adams 59a95f43a3 Set NoDelay as default
Resolves  #374
2015-11-13 19:33:24 +00:00
Pranav K d09551af46 Reacting to DependencyInjection changes 2015-11-13 10:30:54 -08:00
Murat Girgin 52fe469688 Update project.json 2015-11-12 22:59:34 -08:00
Stephen Halter fc346f7768 Avoid some closure allocations in SocketOutput 2015-11-12 17:08:44 -08:00
Stephen Halter 59cdd60af6 Don't pre-complete too many writes 2015-11-12 17:08:43 -08:00
Stephen Halter 6b995362f1 Merge branch 'benaadams/odd-sync' into dev 2015-11-12 16:47:27 -08:00
Stephen Halter 983997ab9c Merge branch 'nickcraver/cancellation' into dev 2015-11-12 16:15:59 -08:00
Stephen Halter 9958427db7 Merge branch 'benaadams/result-getawaiter' into dev 2015-11-12 16:05:50 -08:00
Stephen Halter 0ead24680d Merge branch 'benaadams/reduce-log-boxing' into dev 2015-11-12 16:01:06 -08:00
Stephen Halter fdfd7dcf36 Merge branch 'benaadams/Task.Run-QueueUserWorkItem' into dev 2015-11-12 15:51:42 -08:00
Troy Dai 4c97cbb9b2 Update Microsoft.Win32.Registry reference's version 2015-11-12 15:28:21 -08:00
N. Taylor Mullen bba44597fc Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:25:07 -08:00
N. Taylor Mullen 37e4a80160 Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:24:19 -08:00
N. Taylor Mullen 9910254f3d Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:23:49 -08:00
N. Taylor Mullen 86e1924cad Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:23:45 -08:00
N. Taylor Mullen f5477d1748 Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:23:18 -08:00
N. Taylor Mullen ca2629c004 Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:22:57 -08:00
Nick Craver a45a671b22 Make ReadAsync state overload 451 only and private. 2015-11-11 18:55:56 -05:00
Stephen Halter e5ff33eda2 Remove UvAsyncHandle.DangerousClose
- This should stop the AVs we've been seeing in some of our test runs
2015-11-11 15:24:09 -08:00
Ben Adams 0500043cc9 .Result -> .GetAwaiter().GetResult() 2015-11-11 09:46:56 +00:00
Nick Craver d1221e82c1 Pass cancellation tokens down consistently
I'm assuming these are oversights since the usage is inconsistent.
Otherwise this served only as a mild waste of time :)
2015-11-10 22:58:19 -05:00
Stephen Halter 55f6f21d5a Build Microsoft.AspNet.Server.Kestrel.Https for dotnet5.4 2015-11-10 17:15:35 -08:00
Stephen Halter bdbd9ae7a6 Merge branch 'benaadams/socketoutput-tasks' into dev 2015-11-10 15:55:10 -08:00
Ben Adams d32937eafe Add tests for non-immediate byte counting 2015-11-10 23:17:40 +00:00
Ben Adams 34cec3448d SocketOutput to Tasks 2015-11-10 19:53:43 +00:00
Troy Dai d0bdede709 Update the reference link in comments of SockAddr 2015-11-10 11:11:32 -08:00
Troy Dai d9c15e0180 Add references to socket in comments 2015-11-10 10:37:12 -08:00
Ben Adams 344c821f83 Remove sync block->task
await rather than synchronously blocking and then returning a
Task.FromResult
2015-11-10 18:23:44 +00:00
Troy Dai d08b83a1c7 Fix get IPAddress for Darwin 2015-11-10 10:04:10 -08:00
Ben Adams c0f82765aa Move logging to new style 2015-11-10 10:43:51 +00:00
Ben Adams a2c4e3a654 Task.Run -> ThreadPool.QueueUserWorkItem
Task.Run eventually ends up being QueueUserWorkItem.
The returned task is ignored, so no added goodness.
Short running item.

Cut out the middleman
2015-11-10 07:28:17 +00:00
Ben Adams 278bd9c962 Completed Task opt 2015-11-09 04:32:08 +00:00
Stephen Halter 9d19eed88f Merge branch 'benaadams/memorypool2-allocate' into dev 2015-11-05 12:16:43 -08:00
Stephen Halter bb9f83186b Remove unused parameter from ListenerSecondary.ReadStartCallback 2015-11-05 12:09:50 -08:00
Stephen Halter fff28990fe Ensure ListenerSecondary buffer isn't double freed or freed too early
- Call buf_init in StartAsync so we have access to a KestrelThread
2015-11-04 16:21:29 -08:00
Stephen Halter 74f08c16df Merge branch 'benaadams/listenersecondary-allocs' into dev 2015-11-04 15:34:42 -08:00