Commit Graph

525 Commits

Author SHA1 Message Date
Ben Adams 067eb9c6f8 Make FeatureReferences<T>.Fetch inlineable (#704) 2016-09-28 11:35:04 -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
Pavel Krymets 18f08fdb2f Use TaskCache class from Microsoft.Extensions.TaskCache.Sources (#705)
Instead of Task.FromResult(0)
2016-09-07 10:40:13 -07:00
Kiran Challa 30a4b09d9f Fix CookieOptions.HttpOnly doc comment 2016-09-01 10:18:39 -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 69729bc75b Perf to ToUriComponent 2016-08-10 16:26:33 -07:00
Justin Kotalik a4a4e490c5 Addresses #678 and #679 2016-08-03 22:31:42 -07:00
Pavel Krymets e320755734 Do not run custom header parsers on null header values (#678) 2016-08-02 19:40:30 -07:00
BrennanConroy 9a0ea424ea Fix cross appdomain exception 2016-07-25 09:48:10 -07:00
Pavel Krymets b4b2dd6bf2 Add buffer size parameter to CopyTo method (#674) 2016-07-21 16:40:48 -07:00
Victor Hurdugaci e64b8e55e5 Add some multipart reader utilities to make reading streams easier 2016-07-14 09:25:46 -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 01f247db48 Prevent an unnecessary allocation of a state machine (thanks @PinpointTownes) 2016-07-05 13:44:43 -07:00
Derek Gray 59b605cafb Add UseWhenExtensions and UseWhenExtensionsTests 2016-07-05 11:54:23 -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
Justin Kotalik 8f3d894b95 #625 Changes Error Message when trying to reuse stream 2016-06-15 15:33:24 -07:00
Kristian Hellang 3865136b97 Added "451 Unavailable For Legal Reasons" to StatusCodes
From RFC7725 - https://tools.ietf.org/html/rfc7725
2016-06-15 11:36:29 -07:00
Alex Forbes-Reed 0a3213ebaa Added RFC 7538 support 2016-06-15 11:29:23 -07:00
Alex Forbes-Reed 2a1e6649b0 Added RFC 4918 support 2016-06-15 11:29:23 -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
Cesar Blum Silveira 8212694874 Add RawTarget property to IHttpRequestFeature (#596). 2016-05-27 16:54:07 -07:00
Pavel Krymets c63f02c19f Optimize form reader allocations 2016-05-27 08:14:47 -07:00
John Luo 485e2e8327 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-26 18:28:04 -07:00
Ben Adams a49ba744aa Reduce Revision check calls via interface 2016-05-23 16:23:38 -07:00
moozzyk e854d3aa9a Allow query string parameters without values
Addresses #624
2016-05-23 15:41:37 -07:00
John Luo 440c6e43e1 Minor rewording missed from PR 2016-05-23 10:15:39 -07:00
John Luo 6d91a160b6 Add IsAvailable property to ISession #634 2016-05-23 10:08:05 -07:00
BrennanConroy 504a825406 Fix owin spec links 2016-05-20 11:37:13 -07:00
Pranav K 8f233ea796 Revert "React to updated CoreCLR packages"
This reverts commit 097b339f74.
2016-05-18 09:42:01 -07:00
Hao Kung 36329b07c8 Add Description as well to AuthenticateInfo
(needed by Identity)
2016-05-17 15:01:44 -07:00
John Luo 097b339f74 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-17 14:39:32 -07:00
Chris R b95843452c #612 Move CookieSecureOption / SecurePolicy to Http.Abstractions 2016-05-16 12:23:41 -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 7ebd87a6b2 Add doc comments for FormOptions. 2016-04-29 10:24:26 -07:00
Hao Kung 3a7f6a7228 Add GetAuthenticateInfo method 2016-04-26 14:09:48 -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
Jimmy Hannon b0ebcc3aeb Update RunExtensions.cs
small typo
2016-04-14 14:49:09 +02:00
Pranav K b50cd32b8e Removing imports from src projects 2016-04-08 06:48:41 -07:00
Pranav K fd0505ffae Merge branch 'release' into dev 2016-04-08 06:48:41 -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
Chris R ac12319cd7 #333 Add doc comments for feature interfaces. 2016-03-31 16:13:08 -07:00
Chris R 3a97a6bdfd #602 Invoke APM callbacks on the threadpool. 2016-03-31 12:35:20 -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
Chris R bd60507dcd #553 Use System.Buffers for temporary arrays 2016-03-28 13:57:08 -07:00
Eilon Lipton 1b71748150 More package metadata fixes 2016-03-28 10:26:49 -07:00
Eilon Lipton 78a3fc91d3 Fix package metadata 2016-03-26 22:42:17 -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
Pranav K 6a5a05303f Revert "Revert "Reacting to CoreCLR package changes""
This reverts commit d035b7c533.
2016-03-22 15:15:11 -07:00
Pranav K d035b7c533 Revert "Reacting to CoreCLR package changes"
This reverts commit 131db6c41e.
2016-03-21 10:29:13 -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
Pranav K 131db6c41e Reacting to CoreCLR package changes 2016-03-21 00:01:21 -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
Pranav K 67449276a5 Target minimal TFMs 2016-03-12 09:49:45 -08:00
Brice Lambson a051244faf Don't reference facades in NuSpec
These can be removed entirely after dotnet/cli#164
2016-03-11 08:40:56 -08:00
Ben Adams 982aa08cda Cache doesn't need clearing when resolving uncached feature 2016-03-08 10:36:44 -05:00
Ben Adams 8c72741992 Lower alloc KeyValueAccumulator for common path 2016-03-07 10:09:27 -08: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
Ajay Bhargav Baaskaran 97940747c3 Added missed attribute 2016-03-03 17:50:40 -08:00
Ajay Bhargav Baaskaran dd7198f410 Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:32:08 -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
N. Taylor Mullen dabe2e0c24 Revert "Downgrade to use CoreFX NET46 compatible packages"
This reverts commit dc456ceab5.
2016-02-19 20:33:13 -08:00
Mukul Sabharwal dc456ceab5 Downgrade to use CoreFX NET46 compatible packages 2016-02-19 16:44:01 -08:00
Sebastien Ros c030ef9129 [Fixes #567] Adding port and host parsing in HostString 2016-02-19 16:29:22 -08:00
N. Taylor Mullen 90f71aa6ec Add missing `System.Resources.ResourceManager` dependency. 2016-02-18 19:42:11 -08:00
Ajay Bhargav Baaskaran 3e8368ad66 Enabled xml doc generation 2016-02-18 16:32:10 -08:00
Chris R d4e72564c7 Add AuthenticationManager.HttpContext. Clean up contructors. 2016-02-18 16:03:20 -08:00
N. Taylor Mullen c7029a1bd0 Update System.Linq 4.0.2-* => 4.1.0-*. 2016-02-18 15:35:36 -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
Chris R 5e7b30c04b #542 Add IHttpConnectionFeature.ConnectionId 2016-02-18 11:08:05 -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
Kristian Hellang cb09ffccce Changed SaveAs[Async](string) to CopyTo[Async](Stream) 2016-02-11 12:11:42 -08:00
Chris R 04e9da4e88 #527 Add IFileInfo overloads for SendFileAsync. 2016-02-08 10:55:36 -08:00
Chris R 3e6c7171be #515 Make forgiving vs strict header list parsers. 2016-02-08 10:21:28 -08:00
Pranav K 77c137fc0a Reacting to CoreCLR package version changes 2016-02-08 09:33:46 -08:00
N. Taylor Mullen faf8a73953 Update project.json to remove redundant System.Runtime dependency.
- This package is pulled in transitively.
2016-02-05 17:21:54 -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
Pranav K 38feebc0d6 Reacting to CoreCLR package version change 2016-01-20 20:53:25 -08:00
Brennan 3f84e992f4 Make StreamCopyOperation public and update it to same as StaticFiles 2016-01-19 10:03:26 -08:00
Brennan 1f21540fd5 Remove IsLocal 2016-01-19 08:35:53 -08:00
Kristian Hellang 4b64d187c2 Promote IFormFile extension methods to IFormFile 2016-01-13 14:30:14 +01:00