Commit Graph

690 Commits

Author SHA1 Message Date
David Fowler 4544f881a2 Revert "Skipping failing tests to unblock CI"
This reverts commit 0860981ada.
2017-02-24 09:48:44 -08:00
David Fowler 0860981ada Skipping failing tests to unblock CI 2017-02-24 09:31:43 -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
Pavel Krymets 990e2a8dc4 Use pass through connection adapter instead of ssl for max buffer size tests (#1391) 2017-02-23 08:04:43 -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 80b9673693 Temporary add delay to connection test to make it pass (#1384) 2017-02-21 16:04:32 -08:00
Cesar Blum Silveira 0dca3a266f Remove custom BenchmarkDotNet toolchain. 2017-02-21 12:05:16 -08:00
Cesar Blum Silveira 4fd71e3a6b Fix 'No data found for...' errors in CI test runs. 2017-02-21 11:50:20 -08:00
Pranav K d3a6915732 Remove dotnet-core and dotnet-corefxlab feeds
Let VS do it's thing with test projects
2017-02-20 10:24:41 -08:00
Pavel Krymets 824ef2c937 Input Pipeline migration (#1277) 2017-02-17 15:38:13 -08:00
Cesar Blum Silveira bfe1f06938 Fix AddressRegistrationTests.RegisterAddresses_IPv6ScopeId_Success (#1363). 2017-02-17 10:35:00 -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
Doug Bunting be9f83b308 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
2017-02-14 09:21:44 -08:00
Stephen Halter 5124adf450 Better report Kestrel crashing errors 2017-02-07 00:26:00 -08:00
Nate McMaster 8cbe54a182 Remove usage of conditional multi-targeting
This causes Visual Studio to crash. See
dotnet/roslyn-project-system#1431
2017-02-01 12:12:43 -08:00
Cesar Blum Silveira 1a2c438899 Upgrade to RC.3 2017-01-31 16:23:23 -08:00
Ben Adams ecca980c91 Implement IHeaderDictionary.ContentLength 2017-01-24 14:55:48 -08:00
Cesar Blum Silveira 2895447cbe Merge branch 'benaadams/flush' into dev 2017-01-23 09:36:29 -08:00
Pavel Krymets 10fe5e6fa2 Fix performance tests 2017-01-20 14:55:21 -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
Cesar Blum Silveira 20e02e8fd6 Don't overwhelm server with data in KeepAliveTimeoutTests.ConnectionNotTimedOutWhileRequestBeingSent(). 2017-01-19 11:03:43 -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
Cesar Blum Silveira cf77813c82 Re-enable HTTPS tests (#1273). 2017-01-10 13:48:46 -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
Pranav K c72605f43a Fix NuGet downgrade warning
Works around warning where a P2P reference is explicitly listed in the project. For e.g.

warn :  SampleApp (>= 1.1.0) -> Microsoft.AspNetCore.Server.Kestrel.Https (>= 1.2.0) -> Microsoft.AspNetCore.Server.Kestrel
warn :  SampleApp (>= 1.1.0) -> Microsoft.AspNetCore.Server.Kestrel (>= 1.2.0)
2016-12-28 09:44:21 -08:00
Cesar Blum Silveira 81a8ba0347 Skip tests commentd out in 973b705. 2016-12-23 17:38:54 -08:00
Cesar Blum Silveira 973b705cdb Disable tests that hang on SslStream.WriteAsync after update to CoreFx 4.4. 2016-12-22 18:37:14 -08:00
Ben Adams 4c0413c804 Implement Stream Flush+FlushAsync fully
Streams should pass through the flush and not assume the underlying
Stream's Flush behaviour
2016-12-22 13:40:40 +00:00
Pranav K 5b8f7c2b2b Updating to 4.4 CoreFx packages 2016-12-21 22:22:13 -08:00
Cesar Blum Silveira 461caa85f4 Test RequestHeadersTimeout in KestrelServerLimitsTests.RequestHeadersTimeoutValid (#1268). 2016-12-21 13:22:20 -08:00
Cesar Blum Silveira b41c4078bd Abort connections not closed during shutdown (#1112). 2016-12-20 14:44:34 -08:00
Cesar Blum Silveira 4485bfec39 Fix test races caused by cedbe76. 2016-12-13 13:57:26 -08:00
Cesar Blum Silveira cedbe76f52 Abort request on client FIN (#1139). 2016-12-13 12:03:33 -08:00
Cesar Blum Silveira 51ecbd7949 Add benchmarks for Frame writes. 2016-12-13 11:33:56 -08:00
Cesar Blum Silveira defcbdb907 Revert "Add MaxRequestBodySize limit (#478)."
This reverts commit e53a87be9c.
2016-12-09 16:30:12 -08:00
Cesar Blum Silveira e53a87be9c Add MaxRequestBodySize limit (#478). 2016-12-05 17:06:57 -08:00
Stephen Halter 02b84d7ae1 Make ListenerPrimaryTests more reliable
- The Task from ListenerSecondary.StartAsync() may complete before the
  PrimaryListener adds the pipe connection to its dispatch pipe list.
2016-11-28 14:37:25 -08:00
N. Taylor Mullen fd7232616a Pin global.json SDK to 1.0.0-preview2-1-003177. 2016-11-23 15:59:21 -08:00
Pavel Krymets e55c62444b Refactor FrameTests and rename SocketInput SocketOutput properties (#1229) 2016-11-22 16:36:36 -08:00
Stephen Halter b2d45c3dd0 Make TestApplicationErrorLogger thread-safe 2016-11-21 16:31:27 -08:00
Ben Adams 2eba4017c1 MemoryPoolIterator feedback 2016-11-21 22:48:58 +00:00
Ben Adams 9ec4d88fbe Improve Skip coverage 2016-11-21 22:48:58 +00:00
Ben Adams ba0b7cc553 Add 100% coverage Take tests 2016-11-21 22:48:58 +00:00
Ben Adams dc90dd1649 Add GetArraySegment test 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 8ce47fb8b6 Move perf, share code 2016-11-21 22:48:57 +00:00
Ben Adams 12e2f30577 MemoryPoolIterator byref structs 2016-11-21 22:48:57 +00:00
Ben Adams 8bcbfb9971 Only LocateFirstFoundByte once 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 4f7977d440 Use PowerOfTwoToHighByte for FindFirstEqualByte 2016-11-21 22:48:57 +00: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 ec89197ecb Add ListenerPrimaryTests 2016-11-09 14:26:47 -08:00
Pranav K 9d081d17e5 Updating versions to 1.2.0-* 2016-11-09 14:18:16 -08:00
Stephen Halter 5043f9b17a Make ConnectionFilterTests more reliable 2016-11-09 14:02:51 -08:00
Stephen Halter 757952d4d3 Always flush headers on first response write (#1202). 2016-11-09 14:02:50 -08:00
Stephen Halter 3c7e7d1f6c Make ConnectionFilterTests more reliable 2016-11-09 13:59:12 -08:00
Stephen Halter c0e75dcbf8 Always flush headers on first response write (#1202). 2016-11-09 13:59:12 -08: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
Cesar Blum Silveira 5b65117b64 Add functional regression test for 'Connection: keep-alive, upgrade' request header. 2016-11-04 17:54:22 -07:00
Stephen Halter 8591900849 Fix more test failures caused by connection resets
- Avoid sending data that won't be processed.
2016-11-04 16:05:11 -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
Cesar Blum Silveira 29408956f9 Handle tokens in Transfer-Encoding header (#1181). 2016-10-31 13:57:34 -07:00
Cesar Blum Silveira cc05e36dc6 Fix test failures caused by connection resets (#1167). 2016-10-31 10:21:28 -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
Nathan Anderson 610601cc6e test fixes and whitespace changes to generated code 2016-10-20 15:23:03 -07:00
Cesar Blum Silveira fff0adeaaf Faster response Content-Length parsing. 2016-10-18 15:57:40 -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
Pranav K 2876f82521 Updating to netcoreapp1.1 2016-10-13 11:19:16 -07:00
Pranav K e2f11ebd38 Revert "Updating to netcoreapp1.1"
This reverts commit dd23f24241.
2016-10-12 16:08:56 -07:00
Pranav K dd23f24241 Updating to netcoreapp1.1 2016-10-12 13:45:43 -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
Cesar Blum Silveira 7ee13875b1 Reduce delay variability in KeepAliveTimeoutTests.ConnectionKeptAliveBetweenRequests() (#1157). 2016-10-11 16:22:59 -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
Pranav K 8c103f0f23 Revert "Revert to Microsoft.NETCore.App to 1.0.0"
This reverts commit f1f66448f4.
2016-10-10 19:23:37 -07:00
Cesar Blum Silveira 3177ba0aae Wait for frame loop completion to dispose connection stream (#1156). 2016-10-10 10:16:03 -07:00
Cesar Blum Silveira 663b825d97 Merge branch 'benaadams/codecoverage' into dev 2016-10-06 15:01:43 -07:00
Kristian Hellang 03f8a7a217 Use HeaderUtilities.FormatDate in DateHeaderValueManager (#1132) 2016-10-06 11:56:49 -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
Ben Adams 2708b8a534 Add CodeCoverage to tests 2016-10-05 21:42:31 +01:00
Pranav K f1f66448f4 Revert to Microsoft.NETCore.App to 1.0.0 2016-10-05 12:03:46 -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
Mikael Mengistu 12adc7de9d Refactored to use the fields from the HttpMethods class
* Reacting to PR comments
2016-09-29 12:19:26 -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
Cesar Blum Silveira 0312da7df3 Add request headers timeout (#1110). 2016-09-27 17:08:02 -07:00
Cesar Blum Silveira 375e8b7022 Change context relationships from inheritance to composition. 2016-09-27 11:53:06 -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
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
Cesar Blum Silveira afa89b3993 Change SkipReason for ThreadCountTests on OS X. 2016-09-16 09:09:26 -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 84efe624a6 Fix deadlock in HttpsTests
- The xunit synccontext was saving us again
2016-09-12 11:06:29 -07:00
Stephen Halter 39bd49ea1a Avoid blocking the MockLibuv loop with test code
- This allows for a graceful shutdown with dotnet test -Parallel None
- By default, the xunit synccontext will dispatch automatically off
  the KestrelThread, but it's best not to rely on this behavior.
2016-09-12 11:06:29 -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
Cesar Blum Silveira 5b2065230d Fix failing keep-alive timeout tests. 2016-09-07 20:58:00 -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
Cesar Blum Silveira 5512516ee8 Remove commented test. 2016-09-01 17:18:59 -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 4587a0fc95 Prevent possible deadlocks when using MockLibuv.OnPostTask 2016-08-29 12:14:19 -07:00
Cesar Blum Silveira b6a177ef0b Test for categoryName passed to ILoggerFactory.CreateLogger() in KestrelServer.ctor() (#797) 2016-08-26 15:37:15 -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
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
Stephen Halter 8f4cc3003b Improve SocketOutputTests
- This should increase reliability/determinism by removing timeouts.
2016-08-15 10:58:32 -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 5181e4196c Trace call to _uv_unsafe_async_send in MockLibuv. 2016-08-09 18:26:10 -07:00
Cesar Blum Silveira 08f98f4790 Add header limit options (#475). 2016-08-09 12:31:39 -07:00
Pranav K 2f9bf9bb87 Updating to Moq \ Castle.Core that does not require imports 2016-08-08 14:35:04 -07:00
Cesar Blum Silveira f2fa8b5660 Add functional test. 2016-08-08 11:58:37 -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 55f409b38b Fix hanging functional tests. 2016-08-05 16:46:34 -07:00
Cesar Blum Silveira fa41588779 Move server start failure test in MaxRequestLineSizeTests to KestrelServerTests. 2016-08-04 15:43:53 -07:00
Cesar Blum Silveira b8f21bee03 Update warning code for obsolete property in #pragma. 2016-08-04 14:05:23 -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
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
Cesar Blum Silveira 20c1bb567d Move TestConnection to the Microsoft.AspNetCore.Testing namespace. 2016-08-02 12:47:06 -07:00
Cesar Blum Silveira 5876e1983a Move TestConnection to shared directory. 2016-08-02 12:30:53 -07:00
Cesar Blum Silveira 138f23b246 Remove TestServer dependency from TestConnection. 2016-08-02 12:26:17 -07:00
Mike Harder 4ece3f4b68 Change "String." to "string." to match coding convention 2016-08-01 11:09:31 -07:00
Stephen Halter 00a540dcb8 Merge branch 'benaadams/more-block-collect-info' into dev 2016-07-28 16:51:35 -07:00
Stephen Halter 5d6da35cb9 Add test verifying a chunked response can be written manually 2016-07-28 16:43:23 -07:00
Stephen Halter 3a67cb9df5 Merge branch 'benaadams/enum-rather-than-string' into dev 2016-07-25 10:30:33 -07:00
Ben Adams 0ab04d7e73 Tests to makes sure known strings are interned 2016-07-23 01:07:04 +01:00
Ben Adams 0a1ea124ee Use HttpVersionType enum rather than string compare 2016-07-22 21:34:49 +01: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
Cesar Blum Silveira 3c0e0f8d88 Always throw same exception type on read after connection error (#975). 2016-07-21 16:33:56 -07: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
Cesar Blum Silveira bdf9f8dd4e Wait for connection in RequestTests.ConnectionResetAbortsRequest (#978). 2016-07-18 13:29:42 -07:00
Mike Harder 41e50ba688 Enable all tests in HttpsConnectionFilterTests to run on all platforms
- Move HttpClientSlim.cs to test\shared
- Change HttpClientSlim to static class to simplify calling code
- Add HttpClientSlim.PostAsync()
2016-07-18 12:38:19 -07:00
Cesar Blum Silveira 3bb7f4e2c4 Treat ECONNRESET as a connection error (#934). 2016-07-15 14:53:21 -07:00
Stephen Halter fbcb5dcb1b Prevent enumeration of queue during modification in SocketOutputTests 2016-07-15 11:53:54 -07:00
Mike Harder 0c52529b97 Add tests for HTTPS urls to AddressRegistrationTests (#794)
- Added HttpClientSlim, a lightweight version of HttpClient implemented using Socket and SslStream.
2016-07-14 18:35:47 -07:00
Stephen Halter 7e1aa4e1d0 Only test binding to "operational" network interfaces 2016-07-14 16:08:39 -07:00
Mike Harder 2f36c80970 Remove skip condition for IPv6 with scope ID on Linux and Mac (#964)
- Was required to workaround https://github.com/dotnet/corefx/issues/8235 which is now fixed.
2016-07-11 17:53:59 -07:00
Mike Harder 8a43be94ef AddressRegistrationTests should get local IPs from System.Net.NetworkInformation (#796) 2016-07-11 14:40:12 -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
Cesar Blum Silveira 9f720eda90 Reset frame streams on each request (#940). 2016-07-06 14:57:43 -07:00
Pranav K a09bce0c07 Updating to RTM builds of xunit and Moq 2016-06-30 16:00:39 -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
jacalvar 6b7e27269c Update Json.NET to 9.0.1 2016-06-15 15:08:50 -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
Cesar Blum Silveira 98feee9dbd Combine LargeMultipartUpload and LargeUpload into one test. 2016-06-13 17:55:19 -07:00
N. Taylor Mullen 917c3e0987 Remove direct Microsoft.NETCore.Platforms dependency.
- Microsoft.NETCore.App now pulls this package in.

aspnet/Coherence-Signed#344
2016-06-13 15:29:13 -07:00
Stephen Halter c1dadbd723 Make Bad Request tests more reliable
- Avoid calling write again after the request is already rejected
- Don't try to close a socket from the client if we already expect the server
  to forcefully close the socket
2016-06-07 16:13:29 -07:00
jacalvar b6ceac559a Update Json.NET to 9.0.1-beta1 2016-06-06 21:25:52 -07:00
moozzyk 50e8948bb9 Fixing BadRequest tests to not try sending data after Bad Request 2016-06-06 15:27:45 -07:00
moozzyk 69bd0dc4be Reject requests that have null characters in path 2016-06-06 09:59:42 -07:00
Cesar Blum Silveira 2bbaa52b08 Disable ThreadCountTests on Mac. 2016-06-03 19:57:28 -07:00
Andrew Stanton-Nurse 09f5be1434 fix #909 by moving most classes to Internal ns 2016-06-03 14:14:21 -07:00
moozzyk ef74926463 Fixing a test failing on Mac and Linux 2016-06-03 12:21:48 -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
Stephen Halter 9667907515 Prevent IOException from incorrectly failing test expecting 400 response 2016-06-02 12:22:05 -07:00
Chris R 6e36bbe32c Add negative path tests. 2016-06-01 21:28:37 -07:00
Cesar Blum Silveira 58410bf016 Fix Travis build. 2016-06-01 16:52:38 -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
moozzyk bcdd3147a1 Fixing "Error -4092 EACCES permission denied" in tests
A test is trying to bind to port 80 which fails if IIS is running on the machine
2016-05-31 18:55:29 -07:00
moozzyk 0753f06c28 Aborting request if a string can't be converted to ASCII 2016-05-31 17:11:31 -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
John Luo 50e140da43 React to update CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-27 17:51:51 -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
Cesar Blum Silveira 6d3a416f0e Test code nitpicks. 2016-05-27 15:02:32 -07:00
Cesar Blum Silveira cea5fbbafa Fix disabled tests in MultipleLoopTests. 2016-05-27 13:50:37 -07:00
Mike Harder 2453047fe2 ServerAddress.FromUrl() should throw for invalid url (#875) 2016-05-27 12:02:30 -07:00
Stephen Halter b9b67f6bf4 Merge branch 'khellang/set-headers-on-response-start' into dev 2016-05-26 15:35:01 -07:00
Pavel Krymets ef8b0a90d8 Fix merge formatting issues and cross plat tests 2016-05-26 10:34:25 -07:00
Kristian Hellang 72cc0ffbd5 Set Date and Server headers at response start
Closes #223
2016-05-26 17:38:16 +02:00
Pavel Krymets 71ecf5612f Refactor and add ssl tests 2016-05-26 08:31:20 -07:00
Cesar Blum Silveira a3d0bd0ec4 Bind to both IPv4 and IPv6 when localhost is specified (#231). 2016-05-25 21:23:29 -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
Mike Harder 58070099fc Remove Console.WriteLine() from MemoryPoolBlockTests (#868)
- Causes noise in test results
2016-05-24 11:38:24 -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
Cesar Blum Silveira 925d8e0200 Always cache headers and streams across frames (#754). 2016-05-20 16:16:19 -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
Cesar Blum Silveira 86567e1d93 Fix engine test. 2016-05-19 14:06:27 -07:00
shanewalters b17c070e1c Updated to not use handle, centralize conversion logic. 2016-05-19 14:40:29 -06:00
Ben Adams e8647c0cb4 Remove extra FrameContext class
Resolves #837
2016-05-19 19:22:39 +01:00
Stephen Halter 7e7f21ec49 Merge branch 'benaadams/dateheader' into dev 2016-05-18 17:11:01 -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
Cesar Blum Silveira 3e841ccba1 Always send HTTP/1.1 responses (#792). 2016-05-16 16:11:37 -07:00
Cesar Blum Silveira 2cd86a2724 Temporarily disable BadHttpRequestTests. 2016-05-12 14:55:56 -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
Stephen Halter fed7c44829 Merge branch 'halter73/validate-header' into dev 2016-05-04 12:35:26 -07:00
Stephen Halter faf81f11f5 Add response header validation tests 2016-05-04 12:26:00 -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 7494e6a10a Merge branch 'release' into dev 2016-05-02 16:23:48 -07:00
Pranav K 296ca0f948 Fix build break 2016-05-02 16:22:54 -07:00
Pranav K ff510875f2 Merge branch 'release' into dev 2016-05-02 14:56:30 -07:00
Pranav K f0358182e4 Fix build warnings 2016-05-02 11:27:18 -07:00
Ben Adams a31d847719 Tests only to use pooled blocks 2016-04-30 11:16:24 +01:00
Pranav K 98846a4cc7 Merge branch 'release' into dev 2016-04-27 17:34:21 -07:00
Pranav K 5135ee9d2d Fixing CI build break 2016-04-27 17:34:01 -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
Cesar Blum Silveira 00ee2145fc Add xproj for Microsoft.AspNetCore.Server.Kestrel.TestCommon. 2016-04-21 14:51:37 -07:00
Cesar Blum Silveira 95722670c1 More robust port assignment for tests. 2016-04-20 17:25:50 -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
Pranav K 33ad355114 Use latest build of dotnet-test-xunit 2016-04-19 14:54:04 -07:00
Pavel Krymets 5273e0e768 Bring Microsoft.NETCore.Platforms dependency back 2016-04-18 17:01:20 -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 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
Chris R c48353f4ef Hosting#698 Remove IServerFactory 2016-04-15 16:05:01 -07:00
Pavel Krymets f61af9a746 Migrate tests, tools and samples to portable 2016-04-14 15:47:59 -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 7d4fcfeb23 Depend on separate libuv package 2016-04-10 21:15:43 -07:00
BrennanConroy 109c56713a React to logging changes 2016-04-01 11:53:47 -07:00
Stephen Halter c567e4814a Clean up Travis builds
- No longer build libuv in .travis.yml
- The Ubuntu libuv build should now be taken from http://github.com/aspnet/libuv-build
- Remove unneeded packages from .travis.yml
- Stop skipping mono tests
2016-03-31 12:25:01 -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 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
Cesar Blum Silveira 4b214115ca Proper skip reasons for HttpsConnectionFilter tests (#677). 2016-03-22 18:00:15 -07:00
Stephen Halter 850632a091 Ensure KestrelThreads get stopped in tests if there is a startup failure 2016-03-17 07:44:30 -07:00
Stephen Halter b55bef20aa Allow the server to forcefully close socket it tests with connection failures
- This is a delayed reaction to 54caf30 which causes connections closed from
  the server to be closed less gracefully due to no longer waiting for a FIN
  from the client
2016-03-17 07:44:28 -07:00
Cesar Blum Silveira 37b0917ac1 Use TLS 1.1 or 1.2 only (#637). 2016-03-09 12:09:31 -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 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
Cesar Blum Silveira 41f77ee3fd Handle uploads larger than 2GB. 2016-03-02 16:09:52 -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