Commit Graph

438 Commits

Author SHA1 Message Date
Ryan Nowak 308dd109a0 Reduce allocations on Conneg hotpath 2015-11-09 09:16:30 -08:00
Chris R f050e09283 Revert use of explicit converters that prevent APIs from returning null. 2015-11-04 16:03:36 -08:00
Nick Craver bacf76098e Performance improvements
This adds additional performance improvements (namely string.Concat
overloads) on top of #411.
2015-11-03 06:55:13 -05:00
Chris R 7e573631f7 Make other FormReader.ReadForm return Dictionary. 2015-11-02 15:56:06 -08:00
Ben Adams 3c2e2b9d98 #426 Less alloc/wrapping/boxing for Query, Forms, Cookies 2015-11-02 14:47:46 -08:00
Cesar Blum Silveira af0d2e5888 Merge branch 'release' into dev 2015-11-02 13:38:08 -08:00
Doug Bunting 037196d5c7 Restore `null` and `string.Empty` handling from `EncoderExtensions`
- prior test encoders were never invoked for `null` or empty `string`s e.g.
``` c#
    public static void HtmlEncode(this IHtmlEncoder htmlEncoder, string value, TextWriter output)
    {
...
        if (!String.IsNullOrEmpty(value))
        {
            htmlEncoder.HtmlEncode(value, 0, value.Length, output);
        }
    }
```
- add missing `null` checks and handle `string.Empty` in `TextWriter output, string value, ...` overloads
  - better match for the underlying `TextEncoder` behaviour
  - `EncoderExtensions` provided an API like `TextEncoder.Encode(TextWriter output, string value)`
    - that method calls `Encode(TextWriter output, string value, int startIndex, int characterCount)`
2015-11-02 09:40:42 -08:00
Cesar Blum Silveira e934f5e4ed Strong name everything. 2015-10-30 15:36:55 -07:00
David Fowler c80946260a Change the namespace of RequestDelegate
- change it to Microsoft.AspNet.Http
2015-10-30 12:25:21 -07:00
Chris R 99aa148342 Remove un-used namespace. 2015-10-30 10:56:00 -07:00
Chris R be4fb46281 #391 Migrate to System.Text.Encoding.Web 2015-10-30 10:13:02 -07:00
Pranav K f177f0c760 Add ForbidAsync overload for automatic authentication scheme. 2015-10-29 14:55:39 -07:00
John Luo 018f3d1815 Renaming HttpContextFactory Create method 2015-10-23 21:58:22 -07:00
John Luo f931cb7c6d Moving httpcontextfactory to AspNet.Http.Abstractions 2015-10-23 21:49:52 -07:00
Doug Bunting bcb56bdd1a Rename `AppendEncoded()` to `AppendHtml()` and `SetContentEncoded()` to `SetHtmlContent()`
- aspnet/Mvc#3225, 1 of 3

Also correct parameter names and doc comments
- add `xml-docs-test` to ensure this doc comments remain valid in the future
2015-10-22 16:41:17 -07:00
Pranav K 0219aabc17 Switching to using generations TFM 2015-10-21 21:11:25 -07:00
Doug Bunting 9d7300c52b Revert "Rename `AppendEncoded()` to `AppendHtml()`"
This reverts commit 14c96f695a.
2015-10-21 15:45:55 -07:00
Doug Bunting 14c96f695a Rename `AppendEncoded()` to `AppendHtml()`
- aspnet/Mvc#3225, 1 of 3
2015-10-21 15:43:42 -07:00
DamianEdwards 7ed6a6cb57 Add doc-comments for main APIs
- Coherence-Signed#75
2015-10-19 16:33:19 -07:00
Ryan Nowak 221df71425 Incorporate StringSegment from primitives 2015-10-16 08:39:58 -07:00
Ben Adams 3276115877 Comment sp 2015-10-16 00:40:37 +01:00
Ben Adams e01a05d214 Move RequestIdentifierFeature to HttpContext
Rebased #435
Allow lazier instantiation
Expose TraceIdentifier on Httpcontext
Also resolves #412

Add tests
2015-10-15 22:00:45 +01:00
David Fowler d565659de7 Merge pull request #420 from benaadams/Features-perf
Remove FeatureReference indirection
2015-10-15 04:03:23 -07:00
Ben Adams 1f4ca55799 Features performance
Use FeatureCacheHelpers static methods rather than struct FeatureReference by default for lower allocation
2015-10-14 23:59:29 +01:00
Hao Kung d28c6e1dbb Changes for error handling in Authentication 2015-10-14 14:44:50 -07:00
Doug Bunting 0581bcf008 Update `MediaTypeHeaderValue.IsSubsetOf()` to perform consistent checks
- aspnet/Mvc#3138 part 1/2
  - check parameters with same polarity as type and subtype
    - ignore quality factors
  - bug was obscured because MVC has no formatters supporting wildcard media types

nits:
- add doc comments
- spelling
- correct typo in a `project.json` file
2015-10-14 12:07:07 -07:00
Chris R 3741d38691 #426 Move IHeaderDictionary to Features to reduce wrapping. 2015-10-08 08:36:27 -07:00
damianedwards 8ecb147332 Added overload to PathString.StartsWithSegments to allow specifying StringComparison:
- This allows us to have a fast-path (or just be more explicit) for the comparison by doing case-sensitive checks (which are cheaper)
2015-10-04 21:54:52 -07:00
Pranav K 61466af7a3 Renaming Microsoft.Framework.* -> Microsoft.Extensions.* 2015-10-03 15:44:37 -07:00
Pranav K 78a8748248 Fixing build break 2015-10-03 11:12:41 -07:00
Pranav K 886849d890 Adding AssemblyInfo.cs 2015-10-03 11:07:52 -07:00
Pranav K 5f7a17b8e3 Move BufferedHtmlContent to HttpAbstractions 2015-10-03 10:36:54 -07:00
Chris R 894c8dbe2b Hosting#359 Remove IDisposable from HttpContext and IFeatureCollection. 2015-09-30 14:31:03 -07:00
Ryan Nowak c62aa147f4 Make .Clear() consistent with TagHelperOutput 2015-09-25 17:17:28 -07:00
Ryan Nowak a602b47e26 Add AppendFormat extension methods on IHtmlContent 2015-09-25 15:49:27 -07:00
Hao Kung 551da3e558 Caption => DisplayName 2015-09-23 14:57:14 -07:00
Brennan 3a8ecc7d4a Add Dictionary and List dependency to dnxcore50 2015-09-23 14:46:52 -07:00
Hisham Bin Ateya 38bd9f4232 Add project.json description 2015-09-23 23:54:17 +03:00
Pranav K 7816c0183e Removing Microsoft.Framework.Primitives from HttpAbstractions 2015-09-20 10:20:58 -07:00
Pranav K ceded805f3 Formatting fixes 2015-09-18 15:17:41 -07:00
Pranav K 58974a9def Replacing NotNullAttribute with thrown exceptions 2015-09-18 15:11:27 -07:00
Ryan Nowak 7ef2242805 Extension methods for IHtmlContentBuilder
Resolves a bunch of duplication between TagHelperContent and
BufferedHtmlContent, plus adds a few more convenience overloads we don't
have in one of the two places.
2015-09-15 16:50:01 -07:00
Ryan Nowak 52cfdf75f2 Add AppendEncoded to the builder
This is needed because a builder may have an optimized path for an
unencoded string. There's also no 'common' encoded string implementation
so it's much more straightforward to put this on the interface.
2015-09-14 11:58:38 -07:00
David Fowler 7a24045953 Split ParsingHelpers classes into their own files
#397
2015-09-13 22:07:17 -07:00
Ryan Nowak ed3ea33918 Add IHtmlContentBuilder interface
Common interface for things that allow appending content (TagBuilder,
BufferedHtmlContent). We want to be able to expose this from APIs for
users to add content.

See discussion: https://github.com/aspnet/Mvc/issues/3087
2015-09-10 18:41:17 -07:00
Pranav K b1a2db0a7c Adding NeutralResourcesLanguageAttribute 2015-09-10 17:48:17 -07:00
Chris R 327dabb243 Fix namespace for Clear extension. 2015-09-10 11:35:22 -07:00
Chris R 00d5a056d9 #360 Add Response.Clear() extension. 2015-09-10 11:30:42 -07:00
Justin Van Patten df33a3cff8 StringValues improvements
- Add public struct enumerator (avoids enumerator allocations)
 - Implement IReadOnlyList<string>
 - Rename indexer parameter name from "key" to "index"
 - Faster IndexOf (no more enumerator allocation & faster array enumeration)
 - Faster Contains (no more box allocation)
 - Faster CopyTo (no more enumerator allocation)
 - Faster Concat (no more enumerator allocations; use CopyTo)
2015-09-09 09:17:06 -07:00
Chris R 4e0f0c79ec #366 Rewind the request buffer after parsing the form. 2015-09-08 12:04:53 -07:00
Levi B 43d0b0f65b Update WebEncoders from Unicode 7.0 to Unicode 8.0
Add "how to update" file detailing update steps
2015-09-05 17:32:27 -07:00
Hao Kung f3e828892d React to options 2015-09-02 13:46:52 -07:00
Chris R c3290a029f Change IApplicationBuilder.Server to IFeatureCollection ServerFeatures. 2015-08-31 16:48:50 -07:00
Chris R e45e70da01 #367 Remove HttpContext.Get/SetFeature. Take 2. 2015-08-31 16:41:27 -07:00
Chris R f475e53ad2 #367 Add HttpContext.Features, move Get/SetFeature. Take 1. 2015-08-30 21:55:22 -07:00
Chris R 59b44a4c24 Move *CommaSeperatedValues APIs from IHeaderDictionary to extension. 2015-08-28 12:11:14 -07:00
Chris R 456277fe1d #361 Introduce StringValues to replace string[] usage. 2015-08-28 12:11:13 -07:00
Ryan Nowak 15687ab80a Fix #343 - Avoid going to disk when reading the form
This change tries to avoid looking up the TEMP directory for most reads of
the form data. We'll now only hit the disk when necessary.
2015-08-28 09:41:12 -07:00
Ryan Nowak 516a435ea5 Fix #365 - Make IFormFileCollection implmenent IReadOnlyList<T> 2015-08-21 10:39:27 -07:00
Kristian Hellang 138bc6a20f Added owin.RequestUser 2015-08-21 09:38:53 +02:00
Troy Dai e4722b0bef Update packages' versions 2015-08-17 11:11:16 -07:00
Hao Kung 8487e42a68 Hello HttpContextAccessor 2015-08-12 13:08:58 -07:00
Hao Kung 67803d2f41 Challenge now always checks for accept 2015-08-11 16:15:48 -07:00
Pranav K 4576481a32 Reacting to DI changes 2015-08-11 12:57:06 -07:00
Troy Dai 3cd5907fc5 Update CoreCLR versions 2015-08-05 09:33:00 -07:00
Chris R 9c3a39123a #341 Add HttpReqeuest GetEncodedUrl and GetDecodedUrl extensions. 2015-08-04 10:09:39 -07:00
Chris R ac945a0bcf #339 Reduce IFeatureCollection surface area. 2015-08-03 14:55:25 -07:00
sornaks 5d7ec0e2c6 Changing QueryHelpers.AddQueryString to use Array instead of List. 2015-08-03 11:08:54 -07:00
Chris R b8af07e3c1 #60 Merge FeatureModel into Http.Features. Remove unused FeatureObject. 2015-07-16 15:10:48 -07:00
Hao Kung d142160f47 OnCompletedDispose => RegisterForDispose 2015-07-13 12:23:03 -07:00
sornaks 25ea93de9e Making QueryHelpers.AddQueryString support # in the URL. 2015-07-09 16:08:45 -07:00
sornaks 24f90cc914 Introducing IHtmlContent - an interface which lets any content define how to write itself. 2015-07-09 15:01:36 -07:00
Chris R 534becad6b #182 Move StatusCodes from WebUtilities to Http.Abstractions. 2015-07-08 09:55:32 -07:00
Victor Hurdugaci bbbd0d9f35 Add repository information to project files 2015-07-01 20:02:24 -07:00
Chris R 40719b37f6 #177 Enable Copy to return non-read-only. 2015-06-26 14:34:22 -07:00
Hao Kung 5fe8037281 Auth API changes (Async, ChallengeBehavior) 2015-06-25 17:03:10 -07:00
Chris R 641a7fb82b Correct exception type. 2015-06-25 12:20:53 -07:00
Hisham Abdullah Bin Ateya eb423e57d6 Using 'nameof' operator instead of magic strings
Fix back-end field issue

Fix back-end field issue
2015-06-25 12:17:17 -07:00
Chris R 652d885402 #177 Immutable HeaderValue objects. 2015-06-25 09:34:14 -07:00
Mikael Mengistu 12b78a31bf Added more tests and error handling for construction of middleware classes #236 2015-06-24 10:03:56 -07:00
Chris R af6a17710b #310 Refactor IRequestIdentifierFeature. 2015-06-16 16:26:37 -07:00
Chris R a79b05bf24 #320 Rename OnSendingHeaders to OnResponseStarting and HeadersSent to HasStarted. 2015-06-12 12:59:07 -07:00
Henk Mollema 40cfc238fe Use nameof operator 2015-06-11 09:28:05 +02:00
Kiran Challa 6407a1672d Session API review changes. 2015-06-03 21:51:17 -07:00
David Fowler ed339a35d2 Made container verison volatile 2015-05-29 14:14:36 -07:00
David Fowler d9839bcc43 Removed bookeeping for duck typing feature interfaces
- Removed interlocked increment since the version was
being incremented within the lock

#317
2015-05-29 01:12:54 -07:00
David Fowler eb182fdafd Fixed dependencies 2015-05-21 03:46:18 -07:00
Chris R 69849cc37c #311 Move UseMiddleware to Http.Abstractions. 2015-05-20 12:42:54 -07:00
David Fowler 83a8fd136f Fix tabs 2015-05-17 09:07:21 -07:00
Pranav K 7b9cb14a10 Revert "React to CoreCLR dependency changes."
This reverts commit 06d3333ed3.
2015-05-15 12:20:28 -07:00
Chris R 06d3333ed3 React to CoreCLR dependency changes. 2015-05-15 09:59:42 -07:00
Chris R 99ea4fed8a #176 Add Clone() to MediaTypeHeaderValue and NameValueHeaderValue. 2015-05-14 22:23:12 -07:00
Chris R dce1d0e88f #272 Make more properties settable (Items, RequestAborted, IsHttps, Query, Cookies). 2015-05-12 11:02:58 -07:00
Chris R eb0fe6a92a #281 Reorganise files, namespaces for internal and features. 2015-05-07 13:15:14 -07:00
Chris R 550b2252ea #265 Remove Use extensions that take services. 2015-05-07 13:15:11 -07:00
Troy Dai f7f4d490aa React to common package name change 2015-05-07 09:37:58 -07:00
Chris R c9c09fb4e5 #269 Clean up QueryString APIs, add tests. 2015-05-06 10:55:20 -07:00
Chris R 568d0d9106 #275 Reduce UriHelper to static methods. 2015-05-04 10:30:14 -07:00
N. Taylor Mullen 8703e2d7f2 Update LICENSE.txt and license header on files. 2015-05-01 13:52:04 -07:00
Kiran Challa 602f638a8c Remove EncoderServices and add default services directly in the service collection extension 2015-04-30 13:21:14 -07:00
Brennan 89ccdf56bf React to interface renames 2015-04-30 08:45:24 -07:00
Chris R 5bce140681 #295 Rename Core->Abstractions and Interfaces->Features. 2015-04-29 14:38:26 -07:00
Chris R 06584a31b4 #276 Remove unused IHttpApplicationFeature. 2015-04-29 09:59:29 -07:00
Chris R 86f94b7590 Fix typo. 2015-04-28 13:44:40 -07:00
Chris R 117486de94 #277 Rename IHttpClientCertificateFeature. #279 prefer X509Certificate2. 2015-04-27 14:18:02 -07:00
Chris Ross 43a38c1b58 Reorder Challenge parameters. 2015-04-24 08:51:30 -07:00
Chris Ross 06e24a8fdf Handle null auth, null descriptions. 2015-04-23 16:05:05 -07:00
Chris Ross 0ed2692ef4 #267, #273, Move WebSocket APIs to their own object, fix context object. 2015-04-23 15:16:26 -07:00
Chris Ross cc1a24b949 #273 - Use POCOs for auth context objects. 2015-04-23 15:16:23 -07:00
Chris Ross a174bb299e #270 Rename auth wrapper's internal collections to Items. 2015-04-23 15:15:03 -07:00
Chris Ross 4637a95157 #266 Consolidate authentication APIs. 2015-04-23 15:15:02 -07:00
Chris Ross 25aed6f88e #274 Reorganize the strong header type extensions. Remove SendAsync extensions. 2015-04-22 11:43:12 -07:00
Chris Ross 65e57d28f3 Add PathString+string operator to prevent too much string<->PathString implicit conversion. 2015-04-21 11:08:54 -07:00
Chris Ross 86bd393d3d Add string+PathString operator to prevent too much string<->PathString implicit conversion. 2015-04-21 10:23:22 -07:00
Chris Ross 0737ea392f Add NotNull to Predicate setter. 2015-04-20 11:41:43 -07:00
Chris Ross 4030be585d #265 Add implicit converters between string and PathString. 2015-04-20 10:54:33 -07:00
Chris Ross 7d7cd5fde7 #265 Remove some overloads for Run, Map, and MapWhen. 2015-04-17 12:28:02 -07:00
Chris Ross 43c3913b86 #265 Remove setters for IApplcationBuilder.Properties and Server. 2015-04-17 12:18:09 -07:00
Justin Van Patten f5267fc145 Rename SetInt & GetInt -> SetInt32 & GetInt32
Fixes #256
2015-04-16 18:23:30 -07:00
Chris Ross d111e24da7 #190 - Swap Http and Http.Core package names. Remove Http.Core namespace. 2015-04-16 12:07:50 -07:00
Chris Ross 22a1cab976 #149 - Expose connection information as 1st class. 2015-04-16 11:41:41 -07:00
Hao Kung c69c289abf Simplify Challenge flow 2015-04-15 11:15:40 -07:00
Chris Ross e818783ba4 #167: Update cookie APIs to use shared core. 2015-04-15 09:37:47 -07:00
Chris Ross 09d6ab03bc Re-use public constants for header names. 2015-04-15 09:33:35 -07:00
Ryan Meyer 03c47ad582 Spelling mistake.
Sorry I was looking at this code trying to track down a bug somewhere else and noticed a spelling mistake for a local variable. I know I tend to be anal about spelling, so figured I'd at least point it out.
2015-04-10 16:05:44 -07:00
Chris Ross 58f759ac25 Move IServerInformation to Hosting. 2015-04-10 09:58:57 -07:00
Victor Hurdugaci fab55afca5 Update resource names 2015-04-08 15:31:44 -07:00
Chris Ross 043b0f204c Replace WebSocket dependency. Remove chained dependencies. 2015-04-08 14:23:15 -07:00
N. Taylor Mullen 4538519607 Merge branch 'release' into dev 2015-04-07 14:46:00 -07:00
N. Taylor Mullen e2e14681d1 Add serviceable attribute to projects.
aspnet/DNX#1600
2015-04-07 14:45:42 -07:00
Levi B 6c9055cadc Fix CJK Ideographs and Hangul Syllables representation
Characters in these blocks weren't correctly identified as assigned characters, which caused the encoders to always encode them, even if the ranges were in the allow list.
2015-04-07 13:54:46 -07:00
Chris Ross 31dae81405 Short circuit empty inputs. 2015-04-06 11:56:27 -07:00
Doug Bunting c6bf89a04e Update .xproj files for Microsoft.Web.AspNet.* -> Microsoft.DNX.* rename 2015-04-02 13:49:26 -07:00
Levi B 1e9d57f80c UrlEncoder should always encode the U+003A COLON character
Provides extra defense-in-depth in case an application is using this API to encode a relative URL, otherwise the part before the colon could inadvertently be treated as a scheme.
2015-03-17 17:19:20 -07:00
Ajay Bhargav Baaskaran f63702754f [Fixes #160] Added OnResponseCompleted to HttpResponse 2015-03-16 15:50:58 -07:00
Hao Kung 08ddbe8531 Auth cleanup
- Rename Security folder -> Authentication
- Change Authenticate to only take one scheme to match other APIs, the
params overload did not make it any cleaner to consume (since it didn't
produce a combined ClaimsPrincipal anyways)
2015-03-16 14:26:46 -07:00
Praburaj 93deb0b440 Remove dependency on DependencyInjection and instead use DependencyInjection.Interfaces on Http.Extensions
Fixes: https://github.com/aspnet/HttpAbstractions/issues/228
2015-03-13 19:56:45 -07:00
Praburaj b77e9d2d9c Using [NotNull] attribute from the Common repo package 2015-03-13 17:44:51 -07:00
Praburaj ca07b6e2fd Using new encoders over the old encoders. 2015-03-13 12:50:49 -07:00
Levi B 8ca2728ef8 Split encoders into two packages to resolve layering issues
The core package has no external dependencies aside from NetFX-produced packages
2015-03-12 22:35:47 -07:00
N. Taylor Mullen 12f90869c0 Update .kproj => .xproj. 2015-03-11 14:07:45 -07:00
Praburaj a6670114b1 Adding more fallbacks for BufferingHelper temporary folder location
Fixes:
https://github.com/aspnet/HttpAbstractions/issues/168
2015-03-10 21:20:50 -07:00
Levi B 543e0f4863 Code comment cleanup. 2015-03-10 18:06:59 -07:00
Levi B 332900b175 Allow XyzEncoder.Default to be settable. 2015-03-10 17:58:17 -07:00
Levi B ae456401a8 Change AllowedCharsBitmap back to a struct.
I also experimented with having a fixed uint[] field inside the struct, but this actually ended up having worse performance than a proper uint[] array reference since it defeated some of the JITter's optimizations.
2015-03-10 17:58:10 -07:00
Levi B 64077026c7 API cleanup: Rename UnicodeBlock -> UnicodeRange
Also clean up related doc comments
2015-03-10 17:58:03 -07:00
Praburaj 58c45cd379 SignOutContext needs AuthenticationProperties 2015-03-09 19:37:38 -07:00
Praburaj 9463b08d7b Move SendFile HttpResponse extensions to Microsoft.AspNet.Http.Extensions
Addresses: https://github.com/aspnet/HttpAbstractions/issues/221
2015-03-09 15:05:16 -07:00
N. Taylor Mullen 973bf7865e Remove BOM from project.json, *.cmd, *.sh and *.shade files. 2015-03-09 12:54:49 -07:00
N. Taylor Mullen de25ccc9cd Temporarily update struct => class.
- Will be reverted back as denoted by issue: https://github.com/aspnet/HttpAbstractions/issues/222
2015-03-09 01:32:04 -07:00