Commit Graph

332 Commits

Author SHA1 Message Date
Pranav K a78b194a84 Remove usage of TaskCache 2017-06-08 13:46:05 -07:00
Hao Kung 300d69e644 Remove ConfigureDefaultOptions 2017-06-05 09:57:57 -07:00
Hao Kung a55b818a07 Bind AuthenticationOptions to config + PathString type converter (#851) 2017-06-01 15:43:40 -07:00
Hao Kung b1f92fb6bc Forbid + obsolete context.Authentication 2017-05-25 18:26:36 -07:00
Chris R 2ce2d8b6c5 #758 Convert the header parsers to use StringSegment 2017-05-22 15:14:02 -07:00
John Luo e8123db21e Add SameSite attribute to SetCookie header 2017-05-22 14:42:05 -07:00
John Luo 6e87b0f5eb Target netstandard2.0 TFM 2017-05-18 14:38:26 -07:00
John Luo 07470d41b1 Ignore empty header values #722 2017-05-17 12:45:56 -07:00
Nate McMaster bf0b0e283d Upgrade test framework versions and fix test issues 2017-05-15 15:25:02 -07:00
John Luo 9168442704 Migration 2017-05-05 14:59:10 -07:00
Hao Kung 3085f016e4 Fix GetToken() 2017-04-24 11:58:12 -07:00
John Luo 0da88e0dda Avoid double escaping in PathString 2017-04-06 13:29:06 -07:00
Hao Kung 13925be91e Initial Auth 2.0 checkin 2017-03-31 11:56:20 -07:00
John Luo 2bdbbbf41d UseMiddleware resolves InvokeAsync in addition to Invoke 2017-03-27 11:28:09 -07:00
Pranav K b3b846c27e Remove net451 as a cross-compile target 2017-03-24 11:46:13 -07:00
John Luo c69c926217 Merge branch 'properties-dict' of https://github.com/tuespetre/HttpAbstractions into tdev 2017-03-21 17:45:29 -07:00
Kiran Challa 50f3cd6877 Changed samples and tests to run on netcoreapp2.0 2017-03-21 13:25:34 -07:00
Derek Gray d89f66f150 Use a CopyOnWriteDictionary in ApplicationBuilder so branches can set their own properties
Fix #783
2017-03-21 14:31:26 -05:00
Nate McMaster 73d58b7a13 Unify dependency versions to one file 2017-03-15 13:54:28 -07:00
kchanlee 1b02cd2baf Implement `OwinEnvironment` `IEnumerable.GetEnumerator()` (#789) 2017-03-13 07:54:57 -07:00
Yves57 7440d5d29c Remove allocations and improve Header Quality Values parsing performance 2017-03-06 14:31:13 -08:00
John Luo 15adff9433 Only format non-negative int64 #760 2017-02-28 14:47:08 -08:00
Doug Bunting d4800d188a 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 08:37:12 -08:00
David Fowler 945b4e63de Added support for middleware activation via IMiddlewareFactory (#773)
* Added support for middleware activation via IMiddlewareFactory
- IMiddlewareFactory and IMiddleware are new extensiblity points for
activating and authoring middleware. Under the covers, middleware is still
very much just a function. This just provides a nice way to get a per request
activated middleware instance that is created and released via the IMiddlewareFactory.
The caveats are that middleware needs to be registered in the container (by default)
and that not possible to explicitly pass arguments directly via UseMiddleware.
- Added tests
2017-02-13 18:53:10 -08:00
Chris R 96f33b27d4 Migrate from xproj to csproj 2017-02-03 15:37:51 -08:00
John Luo 2e2b54a507 Add more cache control header parsing tests 2017-01-31 12:02:01 -08:00
John Luo 3289afe007 Add check for index advance during parsing 2017-01-31 11:03:20 -08:00
Pranav K 991fbb08bc Updating to 4.4 CoreFx packages 2016-12-14 14:47:29 -08:00
John Luo d50a24145d Add functionalities to HeaderUtilities
- Add allocation free parsing of int32, int64
- Improve performance of converting int64 to string
- Add parsing of seconds from header values
- Add check for existence of cache directives
- Expose CacheControlHeaderValue constants
2016-12-08 17:43:25 -08:00
Kiran Challa aa158f5d25 Modified Base64UrlTextEncoder to reduce string allocations. 2016-11-16 13:43:56 -08:00
Pranav K 4fbb0b01fc Updating versions to 1.2.0-* 2016-11-09 14:17:55 -08:00
Kiran Challa 4dcde8a329 Added Base64UrlTextEncoder utility from Security repo 2016-11-01 15:31:39 -07:00
Pranav K cdbd9ffa74 Updating to netcoreapp1.1 2016-10-13 11:18:10 -07:00
Pranav K 11a67b8f55 Revert "Updating to netcoreapp1.1"
This reverts commit 6d5cd28e9b.
2016-10-12 16:08:46 -07:00
Pranav K 6d5cd28e9b Updating to netcoreapp1.1 2016-10-12 13:45:30 -07:00
Ben Adams 4569653504 Don't allocate for ResponseCookiesFeature 2016-10-07 10:01:42 -07:00
Kristian Hellang 063d6eca0f Added custom RFC 1123 DateTimeFormatter to improve allocation profile (#716) 2016-10-05 12:19:15 -07:00
Pranav K 874dcebbcb Updating partner package versions 2016-09-28 11:50:48 -07:00
Mikael Mengistu 35cde79e46 Renamed HttpMethod class to HttpMethods to avoid conflicts 2016-09-27 14:26:36 -07:00
Mikael Mengistu 626332c5db Adding HTTP method constants 2016-09-26 23:09:08 -07:00
David Fowler 87cd79d6fc Added decoding tests for the FormReader
- This is the first step in work to remove
char[] allocations from the FormReader
2016-09-08 09:57:58 -07:00
John Luo e4afd782e8 Add strong and weak ETag comparisons 2016-08-30 14:15:16 -07:00
John Luo e2a0e887af Add UsePathBase middleware 2016-08-16 16:18:36 -07:00
Justin Kotalik a4a4e490c5 Addresses #678 and #679 2016-08-03 22:31:42 -07:00
BrennanConroy 9a0ea424ea Fix cross appdomain exception 2016-07-25 09:48:10 -07:00
Kiran Challa c5e09b0344 Added a HttpResponseStreamWriter test for surrogate pairs 2016-07-18 14:11:42 -07:00
Doug Bunting 9a28932b7a To de-dupe, we must remove (again)
- part of aspnet/Common#93
- use `WebEncoders` from Common repo
- leave some of `WebEncodersTests` to ensure resources are brought in correctly
2016-07-12 16:25:53 -07:00
Troy Dai 150b4708f1 Fix PathString over-encoding
Base on RFC 3986, ensure following characters are not encoded

alpha, digit, "-", "_", ".", "~", "@", ":", "/", "!", "$", ";", "=",
"'", "(", ")", "*", "+", ","
2016-07-08 15:54:46 -07:00
Doug Bunting 748e96f513 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:01:29 -07:00
Derek Gray 59b605cafb Add UseWhenExtensions and UseWhenExtensionsTests 2016-07-05 11:54:23 -07:00
Pranav K 62eaf16585 Updating to RTM builds of xunit 2016-07-01 11:21:28 -07:00
John Luo 4986137ffe Use filename* for files in multipart forms when available #651 2016-06-29 12:31:52 -07:00
Chris R 3c0c02112d #659 Parse headers with consecutive commas 2016-06-23 14:22:23 -07:00
Pranav K 20d608170e Updating to dev versions 2016-06-16 10:17:59 -07:00
Justin Kotalik d71c2cb6ce Adds Refactor to Equals in Path String, Adds Regression Tests 2016-06-15 16:32:03 -07:00
N. Taylor Mullen 54bdd47763 Remove direct Microsoft.NETCore.Platforms dependency.
- Microsoft.NETCore.App now pulls this package in.

aspnet/Coherence-Signed#344
2016-06-13 15:28:32 -07:00
Chris R 3fc1fef2be #573 Rename UriHelper.Encode 2016-06-06 13:30:07 -07:00
Pavel Krymets 8b3c308c22 Limit value number instead of key number in form reader 2016-06-01 15:46:40 -07:00
Pavel Krymets c63f02c19f Optimize form reader allocations 2016-05-27 08:14:47 -07:00
moozzyk e854d3aa9a Allow query string parameters without values
Addresses #624
2016-05-23 15:41:37 -07:00
John Luo 6d91a160b6 Add IsAvailable property to ISession #634 2016-05-23 10:08:05 -07:00
Pranav K a4bd3bc895 Merge branch 'release' into dev 2016-05-02 14:56:19 -07:00
Chris R 5767306875 #547 Remove '+' replacement from request cookies. 2016-05-02 14:44:26 -07:00
Pranav K edff60f293 Fix build warnings 2016-05-02 11:27:17 -07:00
Chris R 3e69df87f8 Merge branch 'release' into dev 2016-04-25 12:00:37 -07:00
Chris R 13f73c6101 Make the form body limits configurable. 2016-04-25 11:59:40 -07:00
Pranav K 391db10384 Merge branch 'release' into dev 2016-04-19 14:54:03 -07:00
Pranav K f429cd262b Use latest build of dotnet-test-xunit 2016-04-19 14:54:02 -07:00
Pavel Krymets 8fe7a17dab Merge branch 'release' into dev 2016-04-18 16:52:09 -07:00
Pavel Krymets 87b8d478e0 Bring Microsoft.NETCore.Platforms dependency back 2016-04-18 16:52:06 -07:00
Pavel Krymets ed391a961a Merge branch 'release' into dev 2016-04-14 14:44:03 -07:00
Pavel Krymets 440b8bc0ba Migrate tests, tools and samples to portable 2016-04-14 14:34:51 -07:00
Chris R e07008ddec Prevent double flush in HttpResponseStreamWriter. 2016-04-06 12:08:20 -07:00
Chris R 8196f2ab81 #605 Fix regressions in FormReader / FileBufferingReadStream. 2016-04-01 11:34:45 -07:00
Doug Bunting 6725d68559 Move some implementations (all feature implementations) out of `.Internal` namespaces
- #549, #592
- move feature implementations to `Microsoft.AspNetCore.Http.Features` and `...Authentication.Features`
- move `DefaultHttpContext`, `HttpContextAccessor`, `HttpContextFactory`, `FormCollection` and
  `HeaderDictionary` to `Microsoft.AspNetCore.Http`
- move `FormFile` to `Microsoft.AspNetCore.Http.Internal`
 - that and `Microsoft.AspNetCore.Http.Authentication.Internal` are the remaining `.Internal` namespaces

nits:
- remove a couple of parameterless constructors
- add / fill subfolders to align with new namespaces
- remove all use of (unnecessary) "T:..." `<see cref=""/>` values
2016-03-30 16:01:37 -07:00
Doug Bunting 80813f7c1e Use pooled `StringBuilder` to reduce allocations when adding response cookies
- #561
- new `SetCookieHeaderValue.AppendToStringBuilder()` method; avoids per-call `StringBuilder` allocation
- `ResponseCookies` uses `ObjectPool<StringBuilder>` that `ResponseCookiesFeature` provides
 - `ResponseCookies` works fine if no `ObjectPoolProvider` is available
- `IHttpContextFactory` instance is a singleton instantiated from CI
 - make `HttpContextFactory` `ObjectPoolProvider` and `ResponseCookiesFeature`-aware
 - apply same pattern to sample `PooledHttpContextFactory`
- pool is not currently configurable; defaults are fine for response cookies
 - if we need (policy) configuration, would add an `IOptions<HttpContextFactorySettings>`

nit: Add some doc comments
2016-03-25 09:38:52 -07:00
David Fowler 8efc650e74 Fixed build 2016-03-25 01:54:05 -07:00
Doug Bunting 6f24508a33 Move remaining feature interfaces into `Microsoft.AspNetCore.Http.Features` package and namespace
- #590, also related to #561
- move feature interfaces from `Microsoft.AspNetCore.Http` package
- move required classes from `Microsoft.AspNetCore.Http.Abstractions` package
- move `ISession` and `WebSocketAcceptContext` to `Microsoft.AspNetCore.Http` namespace (#590)

nit: remove transient dependencies listed in `Microsoft.AspNetCore.Http.Abstractions`'s `project.json`
2016-03-21 09:05:09 -07:00
Chris R ce408a999e #578 Do not buffer the request body by default when reading forms. 2016-03-17 15:21:10 -07:00
Chris R 1f754f65d3 Add ISession.Id 2016-03-04 14:28:20 -08:00
David Obando 15649b7e31 Faster SubMatch implementation
Submatch has been sped up by implementing a modified Boyer–Moore–Horspool algorithm with an average-case complexity of O(N) on random text. Worst case, it behaves similarly to the previous implementation O(MN), where M is the length of the boundary and N is the length of the buffer to operate on.

Method SubMatch looks for two things:

  1. Whether the byte array segment fully contains the boundary, or
  2. Whether the byte array ends with the start of the boundary.

Case 1 is now a lot faster than the previous implementation. Case 2 remains using the same code as before. The method will do Case 1 until the matchOffset is equal to N-M. It then switches to Case 2, unless a match is found.

The code can be further sped up with a full Boyer–Moore implementation, or something more sophisticated. This however can be evaluated in the case that this implementation is insufficiently performant for our main scenarios.

This commit resolves issue #575.
2016-03-04 10:54:20 -08:00
Doug Bunting 3105fd1075 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:51:48 -08:00
N. Taylor Mullen 9f499d7962 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:53 -08:00
Sebastien Ros c030ef9129 [Fixes #567] Adding port and host parsing in HostString 2016-02-19 16:29:22 -08:00
John Luo dc2aa0ec8f Updating test TFMs for custom test discovery 2016-02-18 15:01:26 -08:00
Ryan Nowak 91751015ea Reset fields on AuthenticateContext
This is needed for cases where IAuthenticationHandler instances delegate
or modify the output of each-other.
2016-02-18 12:14:53 -08:00
Doug Bunting 8c120a0792 Extend `WebEncoders` API to avoid allocations within the methods
- rewrite existing methods in terms of the new ones
- don't allocate multiple 0-length arrays

nits:
- clarify a couple of doc comments e.g. using `<paramref/>`
- move an error message into a resource
 - pass parameter names into new resource
- rename parameters for consistency e.g. `inputLength` -> `count`
- name literal `int` parameters
- more `var`
2016-02-17 23:13:33 -08:00
Doug Bunting 5d8231ee0d `OwinExtensions.UseBuilder()` should not leave `ApplicationServices` or `RequestServices` `null`
Also correct tests to avoid warnings and to ensure scenarios are actually tested
- tests previously went `async` without waiting for completion

nit: add parameter `null` checks
2016-02-17 11:31:02 -08:00
Kiran Challa 4a3e2ad3c5 Enable tests to run using dotnet xunit runner 2016-02-09 22:11:54 -08:00
Chris R 3e6c7171be #515 Make forgiving vs strict header list parsers. 2016-02-08 10:21:28 -08:00
John Luo 8aa7a0993d Relocating dependencies 2016-02-01 18:26:36 -08:00
John Luo 93079ea3a6 Updating to new CLI 2016-02-01 16:37:16 -08:00
Brennan 765a52007a Use EscapeDataString for encoding Cookies 2016-01-29 12:58:36 -08:00
N. Taylor Mullen 02363da94e Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:20:40 -08:00
N. Taylor Mullen b2c154b576 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:20:30 -08:00
ryanbrandenburg da478b02ed * Move HttpResponseStreamWriter from Mvc 2016-01-21 10:28:07 -08:00
David Fowler ca8136b73c Compile middleware invoke method when extra args are provided
- Improves the performance when accessing scoped services in middleware
2016-01-07 20:39:04 -08:00
Victor Hurdugaci e7bf0e71bb Build with dotnet 2016-01-07 14:22:25 -08:00
Stephen Halter 364a712cb3 Merge branch 'lodejard/featurereferences' into dev 2015-12-30 15:35:08 -08:00
Pranav K 161d6ca5c0 Move Microsoft.Extensions.WebEncoders to HtmlAbstractions
Fixes #512
2015-12-23 09:27:39 -08:00