Commit Graph

498 Commits

Author SHA1 Message Date
Henk Mollema 7166dfecd7 Add generic overloads on FilterCollection 2017-06-28 09:03:48 -07:00
Ryan Nowak 1886d53d89 Remove [BindProperty] on class
This isn't a good fit with consistency with controllers. Discussed with
@DamianEdwards and we agreed to remove this for now and bring it back in
the future if there's a real need for it.
2017-06-28 08:18:42 -07:00
Pranav K 9acfc8d221 Watch _ViewImports outside the pages root for changes
Fixes #6428
2017-06-27 09:30:07 -07:00
Ryan Nowak 0ad9c7d4eb Making Pages Binding Consistent
This changeset reckonciles the binding work we did for pages with
controllers.

A quick summary:
- Moves [BindProperty] to the MVC namespace (#6401)
- Makes [FromRoute] and friends behave consistently (#6402)
- Makes [BindProperty] work with controllers (untracked)
2017-06-26 18:11:44 -07:00
Pranav K f824704741 Cleanup fileLength use 2017-06-18 11:05:49 -07:00
Pranav K c27b07ef3f Use C# 7 features 2017-06-11 22:11:51 -07:00
Pranav K 1c4b0fcdf3 Code clean up 2017-06-09 22:38:46 -07:00
Pranav K b1b7252ddc Merge pull request #6383 from aspnet/rel/2.0.0-preview2
Modify ControllerBase.RedirectToPageResult to call the correct overload
2017-06-09 15:11:23 -07:00
Pranav K d92d8cddeb Modify ControllerBase.RedirectToPageResult to call the correct overload 2017-06-09 14:40:29 -07:00
Pranav K a5f3a6425e Remove TaskCache and TaskCacheOfT 2017-06-08 08:19:20 -07:00
Jass Bagga 7ffd88757d Respond to RangeHelper refactor (#6348)
Respond to https://github.com/aspnet/StaticFiles/pull/200
2017-06-06 11:22:35 -07:00
Kiran Challa f1dd475eae Merge branch 'rel/2.0.0-preview2' into dev 2017-06-06 09:35:33 -07:00
Kiran Challa af91b58bd3 Enabled a way to buffer request body in formatters 2017-06-06 09:33:32 -07:00
Ryan Nowak b796bc0f39 Add Page filters 2017-06-05 08:05:49 -07:00
Kiran Challa 03e696a05e Merge branch 'rel/2.0.0-preview2' into dev 2017-06-01 15:19:13 -07:00
Jass Bagga 4e91e4e36f Correct short-circuit log message for result filters (#6350)
Addresses #6318
2017-06-01 14:01:08 -07:00
Kiran Challa 0f0cfdfe94 Removed unnecessary package references 2017-06-01 12:02:05 -07:00
Jass Bagga a0d9b08f58 Set Content-Length and increase BufferSize (#6347)
Addresses #6045
2017-06-01 11:27:49 -07:00
Pranav K 3089bf74fe Remove reference to Microsoft.Extensions.PlatformAbstractions 2017-05-27 17:22:05 -07:00
Ryan Nowak 84e007a2a7 Move exception and result filters in base 2017-05-26 12:33:46 -07:00
Ryan Nowak e7bd6cfc06 Refactor invoker tests for reuse 2017-05-26 12:33:46 -07:00
Hao Kung 4c2d727e38 React to Auth + switch to Policy Evaluator 2017-05-25 18:23:41 -07:00
Ryan Brandenburg 9ea37a1bbb Fix TFM build breaks 2017-05-25 13:12:39 -07:00
Ryan Brandenburg 03404cd3df Return to NetStandard 2017-05-25 10:34:16 -07:00
Ryan Nowak 2992f8e38a Separate PageContext and ViewContext
This change decouples PageContext and ViewContext completely.
2017-05-24 16:01:52 -07:00
Chris R 53c56f558b React to StringSegment changes 2017-05-23 14:01:44 -07:00
Pranav K c5f771d96d Use factory pattern for caching in ControllerActionInvoker 2017-05-22 13:05:55 -07:00
Jass Bagga 9aff0a67c1 Range support for FileResult(#6150)
Addresses #3702
2017-05-19 10:51:46 -07:00
Mardoxx ece5e748ad Minor documentation fix for SerializableError
ModelStateEntry -> ModelStateDictionary
2017-05-18 11:02:23 -07:00
Ryan Nowak 4d905a4110 Make our executor methods virtual
Fixes #5874 - we are marking these methods virtual just in case someone
wants to customize the executors. These are in the 'public internal'
namespace but can't really be replaced because they aren't sufficiently
virtual.
2017-05-16 08:43:45 -07:00
Henrik W. Moe af7303cd8d Corrected xml-comment for the User-property
Removed comment about setting the User. `User` property only supports `get`.
2017-05-16 08:01:38 -07:00
Jass Bagga cd6befdef1 Assign unique event Ids in the logger (#6270)
Addresses #6062
2017-05-15 11:52:52 -07:00
Pranav K 42a4e9a143 Make uses of ObjectMethodExecutor internal 2017-05-10 21:17:51 -07:00
Pavel Krymets cf64b335f6 Remove unnecessary package references (#6252) 2017-05-10 12:06:10 -07:00
Pranav K 7d28714d9a Pin build of ObjectMethodExecutor to allow breaking change to go thru first 2017-05-10 10:15:14 -07:00
Steve Sanderson 014a786b45 Replace IModelBindingMessageProvider with new highly-virtual base class (#6241)
Replace IModelBindingMessageProvider with new highly-virtual base class. Fixes #6069
2017-05-10 16:02:18 +01:00
Ryan Nowak e2cb8e8ac8 A new and exciting implementation of action selection
This is an improved implementation of the ActionSelector for conventional
routing. This will do fewer dictionary lookups than the decision tree, and
will avoid OrdinalIgnoreCase hashing in the common case.
2017-05-05 17:54:09 -07:00
Pranav K 64ffcfaa89 Merge pull request #6236 from aspnet/rel/2.0.0-preview1
Change TFM to netcoreapp2.0 (#6234)
2017-05-04 22:18:48 -07:00
Pranav K 1c5e417606 Change TFM to netcoreapp2.0 (#6234)
* Change TFM to netcoreapp2.0
2017-05-04 18:11:26 -07:00
Steve Sanderson 6f3a295041 React to new ObjectMethodExecutor in Common 2017-05-03 15:40:02 +01:00
Ryan Brandenburg 42b988ad88 ./ paths relative on page. 2017-04-25 11:57:58 -07:00
Smit Patel bd39d36d75 Update API Check related files
React to aspnet/BuildTools#238
2017-04-25 08:19:00 -07:00
Pranav K 649ee4d28d Add support for page handler to URL generating APIs. 2017-04-24 22:56:58 -07:00
Ryan Nowak 04fd762943 Rename form-action -> handler 2017-04-24 14:15:35 -07:00
Doug Bunting 141b637d20 Bump `MemoryPoolHttpResponseStreamWriter` buffer size up to 16K `char`s
- #3516
- fix tests that relied on otherwise-unused `HttpResponseStreamWriter.DefaultBufferSize`
2017-04-23 16:15:58 -07:00
Pranav K f568d3c2bc Support finding "sibling" pages when using RedirecToPage
Fixes #6083
2017-04-21 18:12:52 -07:00
Ajay Bhargav Baaskaran 8eac7c2d6c [Fixes #6117] Added RedirectToPage overloads to Controller 2017-04-21 12:19:35 -07:00
Christopher Dresel 025870e8b9 Fix #6159 - Fix deep copy for ControllerModel and ActionModel 2017-04-21 07:41:14 -07:00
Hao Kung ea3becb3ca Reenable APICheck 2017-04-20 13:48:26 -07:00
Andrew Stanton-Nurse a975d7fa01 react to removal of PlatformAbstractions (#6164) 2017-04-20 11:09:18 -07:00
Ryan Nowak 4bf518b09b Fix #6140 - Allow linking between controller and page
The issue here is that route values used for action selection are
'global'. That means that pages need to have a 'null' route value for
'action' and controllers need to have a 'null' route value for pages. This
is the same way that areas work.

The fix is to move the 'merge' of route values up to a level where pages
and controllers can work together. Since ADPs use the russian-doll
pattern, the fix is to run this 'merge' in the controller ADP, but after
all of the ADs have been created.
2017-04-19 16:48:38 -07:00
Hao Kung 6cd487e15f Disable api check temporarily to unblock build 2017-04-19 16:07:23 -07:00
Ryan Brandenburg c9bfd2296d Parity between Controller and Page/PageModel 2017-04-19 15:02:06 -07:00
Hao Kung 3e8cd1e7c9 MVC => Auth 2.0 2017-04-19 11:57:04 -07:00
Pranav K 8fa95d66d4 Add support for suppressing inbound and outbound routing 2017-04-14 17:02:45 -07:00
Pranav K c8a1bb6914 React to deps file casing change
Fixes #6122
2017-04-13 13:09:00 -07:00
Jass Bagga 1a8ac88da7 Add PreserveMethod (#6075)
Addresses #5609
2017-04-10 17:31:59 -07:00
Steve Sanderson 90acd055fe Make [FromBody] treat empty request bodies as invalid (#4750) 2017-04-10 16:55:14 +01:00
Pranav K d37b1548f8 Update to new resx format 2017-04-03 16:37:22 -07:00
Pranav K 10d2d7c9f6 Remove System.Reflection.TypeExtensions added to workaround test failures
Fixes #6005
2017-04-03 14:47:14 -07:00
Steve Sanderson d19150ed22 Fix comment typos in preceding commit 2017-03-31 10:36:53 +01:00
Steve Sanderson 4f351bd37c Add support for media type suffixes (#5273, #6032) 2017-03-31 10:20:43 +01:00
Ryan Brandenburg c47825944d Remove Microsoft.AspNetCore.Mvc.Razor.Host 2017-03-29 16:50:39 -07:00
Doug Bunting 824d65ca3d Remove `ValueProviderResultExtensions`
- #5063
- update tests that used one extension method to instead use `ModelBindingHelper` directly

nit: `mbc` -> `context`
2017-03-24 22:17:34 -07:00
Pranav K e7101f248a Support model binding to Razor Pages properties on page and PageModel classes
Fixes #5952
2017-03-24 07:45:19 -07:00
David Fowler d2430f0f4e Merge pull request #6004 from CoskunSunali/dev
Avoid entry point assembly being loaded twice during assembly parts discovery
2017-03-22 22:07:28 -07:00
Pranav K 705c36921a Use alternate workaround for #6005 2017-03-22 19:14:46 -07:00
Pranav K badb6ce8e5 Remove net451 as a cross-compile target 2017-03-22 06:32:50 -07:00
Coskun Sunali 11d265bddd Avoid entry point assembly being loaded twice during assembly parts discovery.
Addresses https://github.com/aspnet/Mvc/issues/6003
2017-03-22 04:37:06 +03:00
Ryan Nowak 8f4ca32f48 Fix #5807 - Race condition in Invoker
This change addressed a race condition in the ObjectMethodExecutor where
the default argument values array can become visible before it is
initialized. If a second observer accesses the array while it is being
initialized, it can observe a null value for a reference type parameter,
leading to a nullref.

The fix here is to make everything immutable and initialize it all up
front. There's no reason to create an OME without eventually running it,
so there's no downside to doing the initialization up front.
2017-03-15 17:19:29 -07:00
Nate McMaster 6f7717a381 Unify dependency versions to one file 2017-03-15 16:54:32 -07:00
Pranav K de25357c28 Do not throw if a library does not have a runtime component
Fixes #5690
2017-03-14 15:07:50 -07:00
jacalvar 3cd8c8c14d [Fixes #5932] Add constructor taking the BinderType to ModelBinderAttribute 2017-03-09 08:16:00 -08:00
Steve Gordon b6a6b50776 Fixing up an error in the XML Comments (#5888) 2017-03-06 11:07:16 -08:00
Ryan Brandenburg de1d0919e5 Add Http Response Codes to doc comments (#5867) 2017-03-06 10:00:07 -08:00
N. Taylor Mullen acfad83aa6 Migrate to MSBuild
- thanx to @NTaylorMullen for initial conversion
  - e.g. AssemblyInfo.cs files were already minimized or removed :)
- allow `>=` RC3 CLI's to build and run MVC
- work around several dotnet migration issues; see #5482
- disable full .NET Framework runs of functional tests; see #5873
- remove `Microsoft.DotNet.InternalAbstractions` and `System.Xml.XmlDocument` dependencies
- remove project.json (!!), *.xproj, .notest, and web.config files

Redo earlier changes:
- apply test migration to .NET 4.5.2 in *.csproj world
  - see 63507c8 for previous, project.json work
- apply dependency version downgrade from 0097e40 in *.csproj world

Make other test-related changes:
- make Microsoft.AspNetCore.Mvc.TestDiagnosticListener a regular class library
- add support for `/p:GenerateBaselines=true` for functional and Razor.Host tests
- separate `GetCSharpTypeName_ReturnsCorrectTypeNames_ForOutParameter()` test
  - work around inability to deserialize a odd `ref` type
  - xUnit and vstest now serialize / deserialze test data more often
- skip poor test mentioned in #5768
- work around Microsoft/vstest#392
  - rename tests to avoid duplicates
- work around Microsoft/vstest#419
  - set up created `AppDomain`s with current `ApplicationBase`
2017-02-28 21:20:39 -08:00
Stefan Nikolei 0e914e55fa Remove double null check (#5862)
Address #5834
2017-02-28 12:00:23 -08:00
Jass Bagga 927e75870d Add BindingSourceMetadataProvider
Addresses #5673
2017-02-17 13:22:10 -08:00
Ryan Brandenburg 366dbde378 Add culture constructor to RouteValueProvider 2017-02-16 14:47:34 -08:00
Ryan Brandenburg 239e2202e1 ActionContextAccessor netstandard behave like net451 (#5810) 2017-02-16 14:34:13 -08:00
Nate McMaster 0097e40e46 Downgrade to stable packages 2017-02-15 14:23:48 -08:00
Kiran Challa a00acceaa9 Merge branch 'rel/1.1.2' into dev 2017-02-15 12:43:37 -08:00
Kiran Challa 29647fda33 [Fixes #5801] Move call to validate constructor in ComplexTypeModelBinder into CreateModel 2017-02-15 12:33:01 -08:00
Ryan Nowak af5648c1f7 Merge branch 'rel/1.1.2' into dev 2017-02-13 08:34:18 -08:00
Ryan Nowak 531c11df2a Fix 5594 - ExceptionHandled + Result is broken
This change ensures that setting ExceptionContext.Result will always
execute if set. The problem with 1.1.0 is that when we had a real short
circuit the wrong set of conditions were checked. I suspect that when you
set ExceptionFilter.Result and didn't short circuit that result filters
were also running (which is a bug).

Added a few tests that verify that the result doesn't trigger result
filters.

I did some general cleanup on this code path to make the state transitions
more clear.

No exception was thrown -> BeginResult
Exception was handled -> ExceptionHandled
Exception was not handled -> gets rethrown
2017-02-13 07:58:32 -08:00
Doug Bunting fc40985412 Merge branch 'rel/1.1.2' into dev 2017-02-10 14:55:32 -08:00
Kiran Challa 842d661ac2 [Fixes #5698] Regression in 1.1 model binding for model types without default constructor
- Also reverts "Check for default constructor in ComplexTypeModelBinderProvider" commit d09e921c4a.
2017-02-10 11:10:02 -08:00
Pranav K 9f3dfd9819 Make RazorPages work E2E 2017-02-06 19:05:31 -08:00
Kiran Challa c95c2a5a6d [Fixes #5686] Extend `ModelMetadata` to reduce ugliness 2017-02-03 11:37:28 -08:00
Ryan Nowak cf70ed663b Merge tag 'rel/1.1.1' into dev 2017-02-03 10:31:17 -08:00
Joonas Westlin d44c9aee1e Added printing of route values when a route is not matched 2017-01-27 11:31:05 -08:00
Kiran Challa 42ae78a360 [Fixes #5012] ProducesAttribute should not inherit from ResultFilterAttribute 2017-01-25 14:00:35 -08:00
Kiran Challa 8ac6b6699f [Fixes #4945] Simple string returned by controller action is not a valid JSON! 2017-01-25 13:29:18 -08:00
Ryan Nowak 5885feb7c0 Fixes a parsing bug with the AcceptHeaderParser
When we find an invalid character at the end of a media type value we
should advance and skip over it.
2017-01-23 13:12:40 -08:00
Ryan Brandenburg 6396e14504 Add null-check back to MediaType 2017-01-18 16:56:08 -08:00
Doug Bunting ce53675b87 Add `[ValidateNever]` and `IPropertyValidationFilter`
- #5642
- lazy-load `ValidationEntry.Model`
  - avoids `Exception`s when moving to a property that will not be validated

nits:
- remove duplicate code in `ValidationVisitor`
- clarify "all properties of" doc comments
  - also add missing `<param>` doc in `ViewDataInfo`
2017-01-15 21:40:29 -08:00
Ryan Brandenburg 93774a0234 Mitigate MediaType overflow 2017-01-13 12:51:19 -08:00
Pranav K 13b32adeae Move InvokeAsync to ResourceInvoker 2017-01-11 11:13:05 -08:00
Pranav K 6b0282fa84 Commonize code from ControllerActionInvokerCache and PageFilterFactoryProvider 2017-01-11 10:53:23 -08:00
Jass Bagga 473337ea33 CompositeChangeToken moved to aspnet/Common Microsoft.Extensions.Primitives
Addresses Common Issue aspnet/Common#163
2017-01-04 17:32:20 -08:00
Kiran Challa de0f277892 Fix attribute routing error message related to replace tokens 2017-01-04 15:43:57 -08:00
hiiru 5070526f43 replaced hardcoded message with Resources.ArgumentCannotBeNullOrEmpty 2017-01-04 10:47:21 -08:00
Pranav K 78492b39d8 Introduce a base type for executing auth and resource filters. 2017-01-03 11:14:15 -08:00
Jass Bagga 9146fce4ec Add extension method for IParameterModelConvention. (#5640) 2016-12-27 16:49:12 -08:00
Pranav K 2b50ec99df Updating to 4.4 CoreFx packages 2016-12-21 16:47:14 -08:00
Steve Smith de1b763d96 Update IControllerModelConvention.cs 2016-12-07 11:11:57 -08:00
Steve Smith b2f0438562 Fixing comment typo 2016-12-07 11:10:54 -08:00
Steve Smith 6fbe514626 Fixing comment typos 2016-12-07 11:07:31 -08:00
Joonas Westlin 1dd1d49321 Redirects with fragment (#5519)
- Added implementation of overloads where you can specify the fragment to redirect to.
- Added unit tests
- Added XML comments, including missing documentation of existing members
2016-12-06 10:32:01 -08:00
Doug Bunting 7178464ed2 Munch on less memory when handling property metadata
- #5499
- switch `foreach` to `for` and use less Linq when accessing `modelMetadata.Properties`
- change backing field for `ModelExplorer.Properties` from a list to an array
2016-12-05 20:47:45 -08:00
Doug Bunting 48546dbb28 Add more to `MvcCoreServiceCollectionExtensionsTest`
- 2nd half of #5554
- follow-on to #5540 PR
2016-12-05 20:05:24 -08:00
Daniel Roth f32d0f2505 Update MvcCoreServiceCollectionExtensions.cs 2016-12-05 20:01:30 -08:00
Pranav K 52ee9afc31 Adding PageActionDescriptorProvider
Fixes #5353
2016-11-23 16:53:06 -08:00
Pranav K 74c9194aee Pinning versions for 1.1.0 release 2016-11-18 12:12:52 -08:00
Julian Dominguez 2bacb6003f Fix typo in XML doc 2016-11-18 10:56:46 -08:00
Pranav K c5a5ba1fee Add support for updateable ActionDescriptorCollection
Fixes #5350
2016-11-17 10:08:38 -08:00
Pranav K 5deda80e5a Downgrade Microsoft.Extensions.DependencyModel to 1.1.0 2016-11-09 18:16:49 -08:00
Pranav K b82969a557 Updating versions to 1.2.0-* 2016-11-09 14:18:46 -08:00
Jass Bagga 576c0e6a65 Throw an exception if configurationType to CreateConfigureDelegate is abstract/has no parameterless ctor
Addresses #5431
2016-11-08 14:16:03 -08:00
Marcus Schweda 24d5dfb552 Dynamic assembly checks to prevent NotSupprotedExceptions from System.Reflection.Emit
Fixes #5487
2016-11-07 12:49:49 -08:00
Jass Bagga 9caa688a30 Modified exception message for duplicate keys exception in CandidateResolver
Addresses #5289
2016-11-07 11:16:11 -08:00
jacalvar bfe50ddd8c Created public API baselines 2016-11-04 23:53:26 -07:00
Kiran Challa 0cee00aae1 [Fixes #5352] When replacing Controller.Dispose with an explicit implementation the base Dispose is an action 2016-11-04 09:34:30 -07:00
Ajay Bhargav Baaskaran 7985121bab [Fixes #5207] Support IsIndexer for ViewComponent tag helpers 2016-11-03 16:50:22 -07:00
Doug Bunting f04286562e Treat `ContentType==null` and `MediaType.GetEncoding(ContentType)==null` differently
- now, if client sends e.g. `Content-type: text/json;charset=[invalid]`, service will respond with HTTP/415
 - if client sends `Content-type: text/json`, service will still try UTF-8 (or updated default encoding)
 - intentional (and slight) behaviour change from 1ac7315
- include and a few new tests and some cleanup from same commit
2016-11-03 10:51:39 -07:00
Doug Bunting 116c927e61 Revert "Do not call `Encoding.GetEncoding()` with a string from the request"
- #5351 should be Won't Fix

This reverts commit 1ac731519a.
2016-11-03 10:51:39 -07:00
Jass Bagga 5d5b282dbd Moved CaseSensitiveTagHelperAttributeComparer to Razor.TagHelpers.Testing.Sources
Addresses #5323
2016-11-01 14:51:37 -07:00
Pranav K 8f6a0fc4fa Updating to 1.1.0 build of ResponseCaching 2016-10-28 18:23:40 -07:00
Doug Bunting ada42ea913 Move value source information from `<remarks>` to `<summary>`
- #1999
- may have reordered the precedence comments as I double-checked the implementations
 - `CheckBox()` and `RadioButton()` were examples of such updates

nits:
- use SSL in documentation links
- simplify mentions of format strings
- remove a few phrases that didn't say much and duplicated `<remarks>`
2016-10-28 16:43:59 -07:00
Jass Bagga 0eea3c2651 Log messages added to BodyModelBinder for input formatters (#5451)
Addresses #5367
2016-10-27 09:43:53 -07:00
Jass Bagga 3d2710a6c4 Changed MiddlewareFilter accessibility to internal (#5455)
Fixes #5432
2016-10-26 11:05:36 -07:00
Doug Bunting 1ac731519a Do not call `Encoding.GetEncoding()` with a string from the request
- #5351
- fix affects only `TextInputFormatter`
 - `TextOutputFormatter` already does the Right Thing™️ with `Accept-Charset` headers
 - `ResponseContentTypeHelper` uses `Encoding.GetEncoding()` but is not passed request data
2016-10-24 14:59:49 -07:00
Ryan Brandenburg 60c59b576e Replace HashSet with a Hybrid HashSet/List
to improve performance on less nested models
2016-10-24 14:47:49 -07:00
Doug Bunting 3fdcaecaa8 Correctly handle quoted media type parameter values
- #5349
- fix or add comments about other parsing errors and inconsistencies
 - `MediaType` did not skip whitespace before the type

nits:
- use `+=`
- `<code>` -> `<c>` since the former is not for use within a paragraph
- split tests up to remove `bool expectedResult` parameters
2016-10-24 13:16:09 -07:00
Jass Bagga 79e576b86c ProducesResponseTypeAttribute(int statusCode) ctor added
Addresses #4863
2016-10-19 17:08:06 -07:00
jacalvar d5b0ebd10c Merge branch 'rel/1.1.0-preview1' into dev 2016-10-18 14:26:12 -07:00
jacalvar 9579806306 [Fixes #5150] parsing issue on asp.net when request quality factor is specified 2016-10-18 12:52:53 -07:00
joheredi 38aa48651f Fix for Issue#5150 2016-10-18 12:52:30 -07:00
John Luo d8c6c4ab34 Add support for VaryByQueryKey #2894 2016-10-18 12:31:04 -07:00
Jaspreet Bagga c2fee4d74d AcceptedResult(), AcceptedAtActionResult(), AcceptedAtRouteResult() support
Addresses #4937
2016-10-18 09:48:26 -07:00
Vladislav Karamfilov 3ef7d01bb6 Small code cleanup (#5388)
* Removed unused private GetUrlHelper method in LocalRedirectResult class.

* Minor code formatting improvements.

* Fixed white space and casing of 'URL' in comment in RedirectResultExecutor.
2016-10-17 20:45:47 -07:00
Pranav K c5a09327eb Revert "Downgrade to 1.0.0 Microsoft.Extensions.DependencyModel"
This reverts commit 45337c1fc2.
2016-10-10 21:21:04 -07:00
Kiran Challa d09e921c4a Check for default constructor in ComplexTypeModelBinderProvider 2016-10-07 16:46:13 -07:00
Kiran Challa e7fe635dab Modified FormCollectionModelBinderProvider to throw when binding for FormCollection model type.
[Fixes #4895] No parameterless Constructor defined
2016-10-07 16:46:11 -07:00
Pranav K 45337c1fc2 Downgrade to 1.0.0 Microsoft.Extensions.DependencyModel
Work around for https://github.com/dotnet/core-setup/issues/423
2016-10-06 16:40:37 -07:00
Pranav K 6d235e4ef5 Update partner package versions 2016-10-03 14:27:20 -07:00
Doug Bunting 4cca6b09f0 Reduce allocations during HTML generation
- #3918
- precompute size of `StringBuilder` in `ExpressionHelper`
- reduce `string` allocations in `ViewDataEvaluator`
 - also get rid of `Enumeration` state machines
- reduce the size of a few objects; use more expression-valued properties
 - e.g. don't store `_modelType` in `ModelExplorer`
- add `EmptyArray<TElement>`; make empty arrays consistently `static`
- avoid `string.Split()` in HTML and tag helpers

nits:
- make `ExpressionHelperTest` tests more stringent
- correct `Message` for an `ArgumentNullException`
- remove excess `using`s in classes I touched (but often ended up leaving otherwise unchanged)
- improve doc comments
- remove `ToString()` call on a `string`
- avoid encoding `string.Empty`
- fix test file name
- remove useless variables
- correct spelling
- improve whitespace
2016-10-03 12:17:47 -07:00
Derek Gray 92682b71f3 Addresses #5251 2016-10-03 11:23:18 -07:00
Ryan Brandenburg 261f73abc7 Add NonViewComponentAttribute 2016-09-30 10:56:08 -07:00
Kiran Challa 01f7ecd9d9 [Fixes #5154] Stream should be suppressed from model metadata validation 2016-09-19 11:10:03 -07:00
Pranav K a480378a44 Make AuthorizeFilter constructable
* Make AuthorizeFilter constructable

Fixes #5253
2016-09-14 13:43:56 -07:00
Pranav K 994835ce47 Remove IViewsProvider and make view lookup to the feature provider 2016-09-14 13:40:05 -07:00
Ryan Brandenburg 43a0a5a9f1 Replace ConfigureOptions with IConfigureOptions 2016-09-08 15:19:07 -07:00
Ajay Bhargav Baaskaran 4677bf13fa Reverting accidental changes 2016-09-08 08:28:51 -07:00
Crystal Qian 05392cbf35 Added view component tag helper code generator. (#5195)
This addresses #1051. There is one more pull request that needs to be completed/merged (for `CompositeTagHelperDescriptorResolver` and friends). After that, runtime should work!
2016-09-07 20:30:09 -04:00
Ajay Bhargav Baaskaran 21236cc98e [Fixes #5016] Perf: Check for OPTIONS before looking for CORS headers 2016-09-06 14:48:57 -07:00
Christian Weiss a5db01169a Fixed comment in Filters/FilterCollection (#5225) 2016-09-03 11:04:58 -07:00
Doug Bunting fae0e9a66e Handle `!ConvertEmptyStringToNull` cases correctly in `SimpleTypeModelBinder`
- #4988
- preserve whitespace as the setting demands
 - correct previous `string.IsNullOrEmpty()` call to match previous `ValueProviderResultExtensions.ConvertTo()` use
- short-circuit other `string`-to-`string` conversions (as `ValueProviderResultExtensions.ConvertTo()` does)
- correct documentation of `ConvertEmptyStringToNull` properties
- add more tests of these scenarios and remove duplicate `BindModel_ValidValueProviderResult_ConvertEmptyStringsToNull()` test
2016-09-02 16:15:18 -07:00
Kiran Challa f7ee16170c [Fixes #5161] Support running middleware pipeline as part of a resource filter 2016-08-30 09:26:04 -07:00
Ajay Bhargav Baaskaran 9ed753288f [Fixes #5170] Fixed KeyNotFoundException in UrlHelperFactory.GetUrlHelper() 2016-08-26 11:27:02 -07:00
Kiran Challa ece8f33a65 [Fixes #5175] Async resource filters' short circuited result getting executed more than once. 2016-08-25 16:30:41 -07:00
Pranav K c942eab6e2 Adding support for Razor precompilation
Fixes #3917
2016-08-19 07:27:51 -07:00
Ajay Bhargav Baaskaran 8de4ddc010 Logging Info instead of Warning for Authorization failure in ControllerActionInvoker 2016-08-16 10:20:54 -07:00
Kiran Challa a4ec3bb24a [Fixes #4991] Misleading MissingMethodException message for incorrect routes 2016-08-11 11:57:21 -07:00
ivano 6e5187c1ae Using new StringRouteConstraint for area constraint 2016-08-08 08:47:04 -07:00
Kiran Challa ac98417398 ModelBinding: Remove IsReadOnly checks and add/update tests 2016-08-04 14:20:23 -07:00
ivano scifoni be5deef584 Created option for RequireHttpsAttribute.Permanent
Fixes #4650
2016-08-04 11:43:16 -07:00
jacalvar b56cab6414 Merge branch 'rel/1.0.1' into dev 2016-08-01 14:16:58 -07:00
jacalvar f0732e9e21 [Fixes #5038] HTTP Verbs mapping error GET and DELETE
When an action contained an attribute derived from HttpMethodAttribute,
doesn't specify an attribute route and there is also another attribute
extending HttpMethodAttribute that has a route defined on it; we ignored
the HttpMethodAttribute attribute without a defined route when building
the set of action selectors for the method.

This caused the resulting action to be unbounded and to accept requests
for other verbs not associated with it. The root cause of the problem was
that attributes override equality and do a field by field comparison but
ignore fields in the base classes of the type, so if an attribute is part
of a class hierarchy (like Http*Attributes) there might be two different
attributes that get considered equal.

The fix for the problem has been to change using Contains on a couple of
collections (that uses the equals method on the underlying object) and
check for the existence of the attribute on the collection directly by
using reference equality.
2016-08-01 12:49:23 -07:00
Ryan Nowak e77dc3af6a Implement manual state machine 2016-08-01 10:38:46 -07:00
Ryan Brandenburg 27a641f4bf Only create filters for models that need them (#5044) 2016-07-27 16:36:26 -07:00
jacalvar 7a3f24d49d [Fixes #4960] Action results returned from controller actions rendered as json instead of executed 2016-07-27 14:42:46 -07:00
BrennanConroy 0a5f8e013e AppDomain safety 2016-07-27 09:26:06 -07:00
Ryan Nowak 855974f128 Fix #4959 - Doc cleanup for RouteValueAttribute 2016-07-27 08:59:34 -07:00
Pranav K 5092e75387 Pin repo version to 1.0.1 2016-07-26 12:09:57 -07:00
Doug Bunting 49a48a0a33 Mark `ValueProviderResultExtensions` as `[Obsolete]`
- #4521
2016-07-22 12:39:13 -07:00
Ryan Nowak fb514d7ef8 Update versions to 1.0.1-*
Also adding a version number to TestConfiguration. This is not a leaf node
so it should have a version.
2016-07-21 09:55:28 -07:00
Kiran Challa 52a7c112e8 [Fixes #4876] ContentResult forcing chunked encoding 2016-07-18 16:10:01 -07:00
Kiran Challa 26b3b5ea7b [Fixes #4766] Remove disable buffering feature from our action result classes 2016-07-18 13:07:54 -07:00
Doug Bunting 52e4ca7232 Put `ModelBindingHelper` on a diet
- remove extra argument checks
- remove two test-only `ConvertTo()` overloads
 - this relates to #4521
2016-07-15 11:53:32 -07:00
Ryan Brandenburg 8ec27958e7 Replace Linq in hotpath (#5024) 2016-07-15 10:19:17 -07:00
Ryan Brandenburg 310ab25347 Make tests resilient to Localization (#5011) 2016-07-14 09:28:01 -07:00
ivano scifoni b4677a44da #4847 Fix MapAreaRoute override existing area constraint (#4954)
*  #4847 Fix MapAreaRoute override existing area constraint
Modify Test project
Modify web test routing

* wrong field tested

* IntRouteConstraint expected

* Default for area route on Travel area

* Removed commented code
simplify constraintsDictionary area assign
renamed test method

* test name

* renamedd test to MapAreaRoute_DoesNotReplaceValuesForAreaIfAlreadyPresentInConstraintsOrDefaults
2016-07-11 10:53:33 -07:00
Doug Bunting 7430efa8cc 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 16:21:18 -07:00
Ryan Nowak 3ed0d01eae Fix #4929 - Move IActionInvokerFactory from .Internal
Also added a wealth of doc comments to an area that's not currently super
well documented.
2016-07-05 13:18:34 -07:00
Doug Bunting 15f25d569a Improve `IUrlHelper` and related doc comments
- #4245, #4507
2016-07-05 09:34:33 -07:00
Doug Bunting 42cea41737 Fail more gracefully when option collections cleared
- #4690
- move `ModelBindingMessageProvider` init from `DefaultBindingMetadataProvider` to `DefaultModelMetadata`
 - in addition to avoiding error cases, this removes some boilerplate
- add specific errors to `BodyModelBinderProvider`, `CompilerCache`, `CompositeViewEngine`, `ModelBinderFactory`,
  and `ObjectResultExecutor`
 - `DefaultRazorViewEngineFileProviderAccessor.FileProvider` now a `NullFileProvider` in empty case
2016-06-30 14:52:50 -07:00
Pranav K a1f4786695 Updating json files to pin versions and build files to pin KoreBuild 2016-06-27 13:51:10 -07:00
Pranav K 72dbda8804 Update to 1.0.1 version 2016-06-24 09:40:03 -07:00
Pranav K cd7954a164 Updating to dev versions 2016-06-16 10:40:11 -07:00
Doug Bunting 3a6541af10 Address PR comments 2016-06-10 14:26:14 -07:00
Doug Bunting 1f6bbf9967 Add doc comments for `public` attributes
- #4641
2016-06-10 14:26:14 -07:00
Ryan Brandenburg 5339a3e0ce Add ExceptionHandled to ExceptionContext (#4825) 2016-06-09 15:22:11 -07:00
Ryan Nowak 31ec88526a Fix #4801 Rename ValidationExcludeFilter
'ValidationExcludeFilter' -> 'SuppressChildValidationMetadataProvider'

Also moved to .ModelBinding for improved discoverability. There aren't
many reasons user code would have a using for .Validation.
2016-06-09 10:51:31 -07:00
Ryan Nowak baf0b6a5c7 Fix #4803 - Move some types internal
Moves IControllerArgumentBinder and IControllerPropertyActivator into
.Internal. Also renames ControllerArgumentBinder ->
DefaultControllerArgumentBinder for consistency with other controller
extensibility types.

We don't think these are 100% baked for our long term maintenance of the
product, and want to reserve the ability to make changes in the future.
2016-06-09 09:36:15 -07:00
jacalvar 0c2189e473 Remove unncessary imports 2016-06-09 00:35:44 -07:00
Doug Bunting aecfe778ee Improve handling of custom `ValidationAttribute`s and their `ValidationResult`s
- #3595 sub-items 2 through 4
- handle an indexer name in `ValidationResult.MemberNames`
 - aligns `ModelNames.CreatePropertyModelName()` with `TemplateInfo.GetFullHtmlFieldName()`
- handle multiple elements in `ValidationResult.MemberNames`
 - later elements previously ignored
- set `ValidationContext.MemberName` to `null` when no property name is available
 - using type name for a member name was just wrong
2016-06-08 12:05:01 -07:00
Derek Gray 5a3875ea72 Alter content negotiation algorithm so that it can be configured (via
MvcOptions) to always respect an explicit Accept header. Fixes #4612.
2016-06-07 16:12:36 -05:00
Ryan Nowak 2e2784aa3d [Design] Split up MvcRouteHandler
This change splits up the conventional routing path from the attribute
routing path *inside* routing, instead of inside `MvcRouteHandler`. Each
attribute route group now gets its own instance of
`MvcAttributeRouteHandler` which just knows about the actions it can
reach.

This removes the concept of a route-group-token and removes the lookup
table entirely for attribute routing. This also means that the
`DefaultHandler` on `IRouteBuilder` will not be used for attribute routes,
which we are OK with for 1.0.0.

The action selector's functionality is now split into two methods. We
think this is OK for 1.0.0 because any customization of `IActionSelector`
up to now had to implement virtually the same policy as ours in order to
work with attribute routing. It should now be possible to customize the
selector in a meaningful way without interfering with attribute routing.
2016-06-07 08:12:47 -07:00
Ryan Nowak 78c130d226 Fix for #4666 - reduce modelbinders created
This change to ModelBinderFactory makes the caching much more aggressive,
by caching all non-root binders. There's some trickiness here around
making sure we have the right behavior when all providers return null. See
the tests and comments.

I also kept the change I made for a temporary workaround to use a
dictionary rather than a "stack" for cycle breaking.  This seems like an
overall improvement in clarity.
2016-06-06 09:01:51 -07:00