Commit Graph

462 Commits

Author SHA1 Message Date
Ryan Brandenburg 8590bb9367 Updating baselines 2018-03-22 14:39:58 -07:00
Pranav K ccb6793126
Introduce LifecycleProperty
Update TempDataAttribute infrastructure to use LifecycleProperty
2018-03-22 10:18:36 -07:00
Pranav K d6176ac7de ApplicationPartFactory: The works 2018-03-21 15:40:15 -07:00
Doug Bunting 390ebbb258
Do not bind `"[index]"` in `CollectionModelBinder` subsetting feature
- #7091
- add `IKeyRewriterValueProvider` to remove rewritten keys or value providers containing such keys
  - similar to `IBindingSourceValueProvider` except `CompositeValueProvider` keeps non-implementers around
- remove `after.Order == before.Order` special cases
  - a premature optimization that could lead to lost inner provider replacements
  - rework `EnumerableValueProviderTest` to ease test override in `CompositeValueProviderTest`
- add `EmptyValueProvider` fields to reduce `CompositeValueProvider` allocations

nits:
- remove Linq use in `CompositeValueProvider`
- do not create an unnecessary dictionary in `CompositeValueProvider.Filter(...)` methods
- accept VS suggestions, mostly pattern matching
2018-03-19 12:53:05 -07:00
Jass Bagga ed18a8f975
Seal ActionResultOfT (#7507) 2018-03-19 12:52:31 -07:00
hede f85be6a0c0 fix typo in ApiController XMLDoc 2018-03-19 08:09:10 -07:00
Ryan Nowak 4875856974 Fix #4604 for good 2018-03-19 08:04:27 -07:00
Pranav K f0788926a0
Add additional APIs required by Razor Sdk 2018-03-13 12:53:41 -07:00
Kiran Challa a0b1b15101 [Fixes #7412] AspNetCore 2.1 breaks integration with 3rd party validation libraries 2018-03-13 02:07:56 -07:00
Kiran Challa a952313f1c Added JQueryQueryStringValueProviderFactory and JQueryQueryStringValueProvider
[Fixes #6372] jQuery ajax request with complex data does not work with .net core 1.1 model bindings
2018-03-12 16:40:04 -07:00
Ajay Bhargav Baaskaran 4acdebc5be
Temporary workaround issue with Sdk mismatch (#7472) 2018-03-12 13:29:49 -07:00
Pranav K 62fdf3a472 Fix issues with RazorCompileOnBuild=true being default 2018-03-09 14:39:18 -08:00
Ryan Brandenburg 9b4b373014 Remove IErrorDescriptionFactory 2018-03-07 13:09:13 -08:00
Pranav K d6ba2ee966 Add wireframe for ConfigureApplicationPart 2018-03-07 10:39:21 -08:00
Jass Bagga f3ffdada95
Remove problem+json Content-Type (#7440)
Addresses #7344
2018-03-06 13:46:40 -08:00
Rob Ward 42dcd0ba28 UrlHelperFactory.GetUrlHelper throws NullReferenceException when passed
a null action context.

This change validates the action context parameter.
2018-03-05 13:34:05 -08:00
Pranav K 06e40252a0 Add support for top level validation to Razor Pages 2018-02-14 14:39:25 -08:00
Artak Mkrtchyan 8b0c6a825f Addressed review comments 2018-02-01 16:15:46 -08:00
Artak Mkrtchyan dea3eb7856 Not instantiating the RequestHeaders and not relying on TypedHeaders to parse AcceptCharset 2018-01-31 17:20:29 -08:00
Jass Bagga 930664de6e
Add INFO level logging (#7314)
Addresses #7171
2018-01-31 16:57:49 -08:00
Kiran Challa 0215740183 [Fixes #5859] Consider allowing binding header values to types other than string and string collections 2018-01-30 11:47:16 -08:00
Pranav K dbff416be6 Add support for running conventions on controller properties, Razor Page parameter and properties
Fixes #6935
2018-01-29 11:43:25 -08:00
Pranav K a74ef9dfd9 Error message for [ApiController] without attribute route needs to be better
Fixes #7277
2018-01-25 10:25:52 -08:00
Pranav K ebdb3c650a Smooth rough ApiBehavior edges
Fixes #7262
2018-01-22 09:53:21 -08:00
Javier Calvarro Nelson 1d6b02c1f5 [Fixes #7239] Add support for loading additional parts.
* Support loading parts through an assembly metadata attribute with a
  key of Microsoft.AspNetCore.Mvc.AdditionalReference and a value that
  describes the additional assembly to add to the list of parts and
  whether or not it should be added by default. The additional reference
  can only contain the file name of the assembly and it must be located
  side by side with the assembly where the additional reference is
  defined.
* Add an AdditionalAssemblyPart application parts to represent parts
  that are not part of the original application per se, like precompiled
  views.
* Update the ViewsFeatureProvider to search for razor views in the
  application part directly instead of trying to load the precompiled
  views assembly part.
2018-01-21 08:02:20 -08:00
John Luo 6751e3b7ca Discover assembly parts for Microsoft.AspnetCore.All 2018-01-17 13:20:09 -08:00
Pranav K ab3134e373 Support conflict resolution when multiple precompiled views have the same path
Fixes #7223
2018-01-16 08:04:39 -08:00
Jass Bagga 66c13ae5e5
Use weak comparison for If-None-Match header (#7237) 2018-01-12 12:40:51 -08:00
Ryan Nowak d342ebf8c8 Use compatibility switch for auth filters 2018-01-11 17:42:32 -08:00
Kiran Challa c922b0b90d Improving logging - model binding
Related to issue #6498: When enabling "Trace" logging for MVC loggers, I should be buried in log messages
2018-01-11 14:51:53 -08:00
Jass Bagga 9438a453b0
Do not serve response body for HEAD requests (#7230)
Addresses #7208
2018-01-11 12:19:43 -08:00
Doug Bunting 58026eacbd Correct a few model binding typos
- worst cases were incorrect references in doc comments
- also a few doc comments ended with `..` or `/`
- otherwise, address nits and take VS suggestions
2018-01-09 12:49:40 -08:00
Doug Bunting afc75a8296 Move `IHttpRequestStreamReaderFactory` from `.Internal` to `.Infrastructure`
- #7044
- move `IHttpResponseStreamWriterFactory` too
- add breaking change records e.g. for changes to `BodyModelBinder[Provider]` constructors
  - these changes relate to previously-"internal" constructors and one property

nits: take VS suggestions for changed files
2018-01-09 10:51:09 -08:00
Doug Bunting c9ac2e6c29 Add `DisplayMetadata.NullDisplayTextProvider` and similar properties
- #6730
- `DisplayFormatStringProvider`, `EditFormatStringProvider`

nits:
- use `<see langword="null"/>` more
- accept VS suggestions in changed files
2018-01-09 09:01:57 -08:00
Hao Kung 73bd09dc1c Add CombineAuthorizeFilters option 2018-01-08 11:59:30 -08:00
ASP.NET CI 2e73bab2a4 Move option for JSON errors to MvcJsonOptions
This was in the wrong place - JSON formatters have their own options
type already.

Moved the option to MvcJsonOptions and updated the naming + defaults to
reflect our plan.

Also did a bunch of general cleanup on these tests, which were a bit
sloppy.
2018-01-07 21:48:58 -08:00
Kiran Challa 40d027fca3 File results - logging 2018-01-04 23:49:13 -08:00
Ryan Nowak bf61ce2b8f Document compatiblity switch for input formatter exceptions 2018-01-03 11:23:05 -08:00
Doug Bunting 5778f44bf7 Use `ExceptionDispatchInfo` in `MiddlewareFilterBuilder` if available
- #6596
- better-align this code with `ResourceInvoker.Rethrow()`

nits:
- take VS suggestions in `MiddlewareFilterBuilderTest`
- clean up names like `httpCtxt`
- remove unused `Pipeline2` class
2018-01-02 14:56:41 -08:00
Kiran Challa 276c1e4360 Improve logging - output formatter selection 2018-01-02 10:09:47 -08:00
Ryan Nowak 49bdcfb150 Updated Razor Pages areas for compatibility switches 2018-01-02 09:48:23 -08:00
Ryan Nowak 82e32240a4 Update the Enum Invalid Value setting for compat
Updated the naming to follow guidelines, and set the default for 2.0
apps to false. Note that I inverted the naming, which means that I had
to invert the logic in a few places.
2017-12-29 12:09:29 -08:00
Ryan Nowak 747420e5aa
Compatibility switches (#7142)
* [Design] Compatibility switches

This introduces a pattern for versioning breaking behaviour changes in
minor releases of MVC.

The general plan is that application developers choose a release version
(2.0, 2.1, Latest) as their baseline which determines the effective
'defaults' for some options. Anything the developer sets explicitly is
an override and always wins.

Then we add a version setting to the template to point to the current
release.

This allows us to be progressive with fixing issues and improving areas
that don't work well, but offers the developer some choice about when to
adopt new behaviours. In effect, we separate new behaviours from the
libraries that develiver them. Apps can update the version, and then opt
in to new behaviours as a separate change.

* Be more american

* improve docs, add example

* Fix visibility

* Fix broken test

* Add test

* Docs!

* The rest of the tests

* fix example

* Adding docs

* PR feedback
2017-12-28 09:43:24 -08:00
Pranav K 350c4ec4f6
Introduce IAlwaysRunResultFilter \ IAsyncAlwaysRunResultFilter (#7120)
* Introduce IAlwaysRunResultFilter \ IAsyncAlwaysRunResultFilter

Fixes #7105
2017-12-22 10:52:52 -08:00
Pranav K dfa085afaf Add support for areas to Razor Pages
Fixes #6926
2017-12-19 15:03:05 -08:00
Kiran Challa c8cabde1f1 Improve logging - individual filters 2017-12-18 13:16:06 -08:00
Kiran Challa 4c4a7b3c6c Improve logging - filter pipeline execution
Related to issue #6498: When enabling "Trace" logging for MVC loggers, I should be buried in log messages
2017-12-14 11:22:13 -08:00
Doug Bunting 5d9f04cf34 Run `[RequireHttps]` filter early in pipeline 2017-12-14 10:40:57 -08:00
Kiran Challa 7e26af908e [Fixes #6514] Add default ctor overload to AuthorizeFilter 2017-12-12 14:07:02 -08:00
Kiran Challa 821daa5ad0 [Fixes #7085] ApplicationModelConventionExtensions should make a copy of collections when iterating them 2017-12-12 14:03:35 -08:00