Ryan Nowak
c3adc59792
Merge branch 'release/2.2'
2018-09-30 14:04:56 -07:00
Ryan Nowak
cb1393cbb1
Adding functional tests for LinkGenerator
2018-09-29 20:34:48 -07:00
Nate McMaster
9f6fd02bba
Merge branch 'release/2.2'
2018-09-28 11:44:54 -07:00
Pranav K
ccb6579cd7
Do not return ProblemDetails for < 4xx status codes
...
Fixes #8504
2018-09-28 10:33:45 -07:00
Pranav K
2f0aee6736
Merge remote-tracking branch 'origin/release/2.2'
2018-09-26 16:13:57 -07:00
Pranav K
8311fd870b
Include the response type in ProducesResponseType for client errors ( #8490 )
...
* Include the response type in ProducesResponseType for client errors
* Refactor ActualApiResponseMetadata discovery in to a separate more manageable type
* Annotate action result ctors and helper methods that specify the "object" value with attribute
* Modify the discovery of parameters to match ActionResultObjectValueAttribute and ActionResultStatusCodeAttribute by name
to allow users to write and annotate custom helper methods and action results, a la NotNullAttribute.
Fixes #8345
2018-09-26 15:51:49 -07:00
Ryan Nowak
3a8f1ad564
Merge branch 'master' into merge/release/2.2-to-master
2018-09-26 10:16:14 -07:00
Ryan Nowak
831937c86c
Add LinkGenerator extensions for MVC
2018-09-26 09:37:46 -07:00
Pranav K
50cef4822a
Invoke FlushAsync before disposing the HttpResponseWriter in JsonResultExecutor
...
Fixes #8486
2018-09-24 13:00:56 -07:00
Doug Bunting
90089953d7
Merge pull request #8491 from dotnet-maestro-bot/merge/release/2.2-to-master
...
[automated] Merge branch 'release/2.2' => 'master'
2018-09-21 15:40:49 -07:00
Pranav K
5915c69aa3
Merge remote-tracking branch 'origin/release/2.2'
2018-09-21 11:42:45 -07:00
Doug Bunting
5c8dfef15e
Change `CollectionModelBinder` and `ComplexTypeModelBinder` to enforce `[BindRequired]`
...
- #8180
- add an error when binding fails for top-level model
- same case as when MVC creates "default" / empty model i.e. `ParameterBinder` can't detect this
- update `CollectionModelBinder` subclasses and the various providers as well
- controlled by existing `MvcOptions.AllowValidatingTopLevelNodes` option
smaller issue:
- change `ModelBinding_MissingBindRequiredMember` resource to mention parameters too
2018-09-21 11:08:16 -07:00
Pranav K
61386d5f67
Reference Microsoft.NET.Sdk.Razor in projects with Razor files
2018-09-20 13:21:45 -07:00
Ryan Nowak
5b9ef5972c
Merge branch 'release/2.2'
2018-09-20 11:08:03 -07:00
Ryan Nowak
5c4c746797
Reaction PR from routing rename
2018-09-20 10:15:50 -07:00
Pranav K
9c424b7b02
Use content-type specified by ProducesAttribute if no formatter supports it
...
This allows users to use `ProducesAttribute` to specify the content-type
for action results such as FileStreamResult where the result determines the content type
and the specified value is informational.
Fixes https://github.com/aspnet/Mvc/issues/5701
2018-09-19 13:51:31 -07:00
Pranav K
f7da3503d6
Allow Implicit 200 status codes to match Ok result
2018-09-19 12:51:13 -07:00
Doug Bunting
43621246c7
Merge branch 'merge/release/2.2-to-master'
2018-09-18 12:31:58 -07:00
Pranav K
c73b13f544
Cherry-pick @pranavkm's functional test for #7562
...
- 30a5eda508 / origin/prkrishn/form-file-value-provider
Was:
Design: Use a value provider to allow nested form files
Fixes https://github.com/aspnet/Mvc/issues/7562
2018-09-18 11:44:48 -07:00
Doug Bunting
47d6d4e82c
Update `FormFileModelBinder` to re-add prefix `ParameterBinder` removed incorrectly
...
- #7562 part 2
- add `OriginalModelName` to `ModelBindingContext`
nit: take VS suggestions, mostly to inline collection initialization in `FormFileModelBinderTest`
2018-09-18 11:44:48 -07:00
Doug Bunting
c13e2498a8
Create model in `ComplexTypeModelBinder` if ANY property has a greedy binding source
...
- #7562 part 1
2018-09-18 11:44:37 -07:00
James Newton-King
446ce02dd5
Merge branch 'merge/release/2.2-to-master'
2018-09-15 10:02:04 +12:00
James Newton-King
8791f9ad0d
Change test parameter transformer to slugify values ( #8453 )
2018-09-15 09:14:48 +12:00
Pranav K
d677a32a53
Merge pull request #8459 from dotnet-maestro-bot/merge/release/2.2-to-master
...
[automated] Merge branch 'release/2.2' => 'master'
2018-09-14 10:00:20 -07:00
Pranav K
4b83f7b510
Make FileVersionProvider repleacable
...
Fixes #6371
2018-09-14 09:14:02 -07:00
Pranav K
233140c33a
Allow IFormFile parameters annotated with [FromForm] to be correctly … ( #8452 )
...
* Allow IFormFile parameters annotated with [FromForm] to be correctly bound in ApiControllers
Fixes #8311
2018-09-14 09:06:32 -07:00
James Newton-King
7d072c1c1a
Merge release/2.2
2018-09-13 09:16:12 +12:00
Pranav K
cb88e906b2
Allow ProducesAttribute to apply along with conventions
...
Fixes #8389
2018-09-12 13:58:02 -07:00
Pranav K
a73d073eea
Allow ApiControlelrAttribute to be applied to assemblies
...
Fixes #7343
2018-09-12 13:42:22 -07:00
Pranav K
13281613a5
Refactor DefaultPageApplicationModel to use conventions
2018-09-12 12:28:16 -07:00
Simon Cropp
43d4416a1d
Fix typos ( #8413 )
2018-09-12 09:34:45 -07:00
James Newton-King
dfae9c208a
Add IParameterTransformer support ( #8329 )
2018-09-12 21:46:41 +12:00
James Newton-King
105f8b47a1
Fix endpoint support for area/controller/action in attribute route ( #8447 )
2018-09-12 21:16:50 +12:00
N. Taylor Mullen
7a945bd192
Merge branch 'release/2.2'
2018-09-11 14:10:01 -07:00
N. Taylor Mullen
ec489da586
Add additional logging to diagnose flaky cache tag test.
...
#8281
2018-09-11 14:09:36 -07:00
James Newton-King
81cb0e6945
Merge branch 'merge/release/2.2-to-master'
2018-09-11 11:03:23 +12:00
James Newton-King
6e27a04bf3
No HttpContext to route constraints in MvcEndpointDataSource ( #8436 )
2018-09-11 10:12:09 +12:00
Ryan Brandenburg
13bb673774
Merge branch 'merge/release/2.2-to-master'
2018-09-10 15:10:13 -07:00
Ryan Nowak
f573b8840a
Fix aspnet/Routing#782
...
Currently MVC is still running the IActionConstraint implementations for
features that we've already moved into the routing layer. This has a
significant perf cost associated with, and so we want to skip it because
it's redundant. However if anyone has implemented their own
`IActionConstraint`-based features, they still need to just work.
This change takes the approach of skipping the action constraint phase
at runtime unless we see something 'unknown'. This is an all or nothing
choice, and will run action constraints if **any** action constraint we
don't special case exists. This is the most compatible behavior (running
redundant constraints) when the application is using constraints that
the developer implemented.
Another approach I considered was to eliminate these constraints as part
of the process of building ADs. I don't think that's ideal because
people have written code that introspects action constraints. We should
consider something like this in 3.0.
2018-09-09 15:17:05 -07:00
Pranav K
013697ad89
Remove experimental analyzers
2018-09-07 16:03:06 -07:00
Ryan Brandenburg
9895593926
Include diagnosticMessages from xunit for Functional tests
2018-09-07 15:00:33 -07:00
Doug Bunting
30274c29e5
Merge branch 'release/2.2'
2018-09-07 09:00:25 -07:00
Casey O'Brien
74ba9898f4
[ Fixes #8250 ] Improve the error message when TEntryPoint is not in an entry point assembly
...
Validates that the type used as a generic argument in WebApplicaitonFactory is contained within the entry point to assembly and throws InvalidOperationException otherwise
2018-09-06 18:02:21 -07:00
Ryan Nowak
f7d9271d71
Merge branch 'merge/release/2.2-to-master' of https://github.com/dotnet-maestro-bot/Mvc into dotnet-maestro-bot-merge/release/2.2-to-master
2018-09-06 16:09:34 -07:00
James Newton-King
863b1c2c97
Action endpoint metadata contains attributes from action and controller ( #8395 )
2018-09-07 10:01:40 +12:00
Pranav K
07cc9e66c6
Add a feature to disable file watching in Razor pages ( #8369 )
...
* Add a feature to disable file watching in Razor pages
Fixes https://github.com/aspnet/Mvc/issues/8362
2018-09-06 10:16:31 -07:00
Simon Cropp
b156dee4f1
Fix some spelling ( #8378 )
2018-09-06 07:39:01 -07:00
Ryan Nowak
fabe189470
React to LinkGenerator changes
2018-09-05 20:52:37 -07:00
Pranav K
1dba6dfcc8
Merge remote-tracking branch 'origin/release/2.2'
2018-09-05 16:59:37 -07:00
Ryan Nowak
1128bd572c
Add a functional test for middleware after routing
...
It came up during routing discussions that we don't have any tests for
this scenario.
2018-08-30 14:51:56 -07:00
Pranav K
f90a47c5af
Introduce ProducesErrorResponseTypeAttribute
...
Fixes https://github.com/aspnet/Mvc/issues/8288
2018-08-30 11:24:03 -07:00
James Newton-King
927e7c8bfc
Support route data tokens with Endpoint Routing ( #8360 )
2018-08-30 15:14:34 +12:00
James Newton-King
5cdc172b17
Fix obsolete constraint resolver usage ( #8361 )
2018-08-30 13:28:46 +12:00
Kristian Hellang
ffdbea9dc1
Add analyzer support for status code methods and constructors
2018-08-29 18:23:52 -07:00
Ben Adams
c7f6e7ab2f
Grumpy XUnit
2018-08-29 16:18:25 -07:00
Pranav K
82a01a414d
Set trace id in ProblemDetalsClientErrorFactory
2018-08-29 16:03:08 -07:00
Ajay Bhargav Baaskaran
4d98ea801e
Test basic link generation in Razor pages in both regular and endpoint routing
2018-08-29 15:50:53 -07:00
James Newton-King
b649133eec
Refactor KnownRouteValueConstraint to not require HttpContext ( #8352 )
2018-08-30 08:57:53 +12:00
James Newton-King
28f96bf832
Fix obsolete build warning ( #8358 )
2018-08-30 08:16:57 +12:00
Ryan Brandenburg
234b003b31
Set longRunningTestSeconds for Functional tests
2018-08-29 11:02:43 -07:00
Pranav K
d09c3c9e28
Polish ProblemDetails
...
* Add ability to set extended members on ProblemDetails
* Skip empty valued properties when serializing ProblemDetails
Fixes #8296
Fixes #8317
2018-08-28 16:21:39 -07:00
Pranav K
667ad4daff
Use ClientErrorData to configure ClientErrorResultFilter
...
Fixes #8289
2018-08-28 13:35:32 -07:00
Ryan Nowak
96b77c8663
Fix aspnet/Routing#721
2018-08-28 12:26:13 -07:00
Ryan Nowak
0fcf2448c3
Fix aspnet/Routing#722
...
Exposes a separate change token that will be triggered after action
descriptors have been updated.
2018-08-27 17:24:21 -07:00
James Newton-King
8ed9d0aac2
Use Endpoint instead of RouteEndpoint where possible ( #8331 )
2018-08-28 11:00:11 +12:00
Ryan Nowak
a634f6b116
add another test
2018-08-27 15:34:37 -07:00
Ryan Nowak
cb0627b28a
Addressing a skipped test
...
I think something that was meant to be revisited in a PR got left
behing. I found this while fixing aspnet/Routing#772 and it seems worth
addressing.
This change removes the hardcoding of action/controller/area in the
data source, and corrects the behavior of required route values when
they aren't in that set.
2018-08-27 15:34:37 -07:00
Pranav K
a7301120b1
Unwrap filter factories in TypeFilterAttribute & ServiceFilterAttribute
...
Fixes #7855
2018-08-24 14:15:40 -07:00
Javier Calvarro Nelson
dfb579d45c
[ Fixes #8021 ] Copy the request headers before sending the request on the RedirectHandler
...
If another handler modifies the request headers the modified headers get
applied on subsequent requests, which is not correct. This change copies
the headers before sending the request and uses the original headers for
the redirect request instead of the potentially modified ones.
2018-08-23 16:09:05 -07:00
Pranav K
8eea0ad44c
Update tests to latest compat switch
2018-08-23 08:09:02 -07:00
James Newton-King
e2de54a92d
Update MvcEndpointDataSource to use RoutePattern ( #8249 )
2018-08-23 21:42:42 +12:00
James Newton-King
03da30f3bf
Replace remaining references to global routing ( #8312 )
2018-08-23 10:23:29 +12:00
James Newton-King
cbe1526763
React to routing changes ( #8303 )
2018-08-22 17:15:09 +12:00
Pranav K
5bd818bd64
Introduce ProblemDetailsFilter
...
Fixes https://github.com/aspnet/Mvc/issues/6786
2018-08-21 17:29:12 -07:00
N. Taylor Mullen
f624c9aa7b
Add flaky test logging for `CacheTagHelper_VaryByCultureComposesWithOtherVaryByOptions`.
...
#8281
2018-08-21 15:07:31 -07:00
Pranav K
522006d2c8
[Design] Add a MaxValidationDepth option to ValidationVisitor
...
Fixes #7357
2018-08-16 15:01:18 -07:00
Pranav K
af770ede87
Ignore parameters that specify a model binder type
2018-08-15 12:12:04 -07:00
Pranav K
7e25d7908a
Warn when the parameter name for a model bound complex parameter has the same name as a top level property
...
Fixes #7753
2018-08-14 15:44:48 -07:00
Kristian Hellang
2421ae8c83
Add IStatusCodeActionResult ( #8265 )
...
* Add IStatusCodeActionResult
* Add unit test for explicitly implemented property on StatusCodeResult
2018-08-13 15:39:20 -07:00
Doug Bunting
1cae9b2658
Merge pull request #8256 from SIkebe/fix-locale-sensitive-unit-tests
...
Fix locale sensitive unit tests
2018-08-11 13:01:42 -07:00
Ikebe Shodai
253ac7c143
Ignore line ending diff
2018-08-10 11:09:49 -07:00
Ikebe Shodai
b78063d2d4
Fix locale sensitive unit tests
2018-08-11 02:53:52 +09:00
Pranav K
9da8e2c908
Ensure UnsupportedContentTypeFilter runs before ModelStateInvalidFilter
...
Both UnsupportedContentTypeFilter and ModelStateInvalidFilter use ModelState to
determine the response. UnsupportedContentTypeFilter returns a more specific
response and should execute earlier than the latter filter.
Fixes #8236
2018-08-10 10:39:13 -07:00
Kristian Hellang
da1189e6f1
Use StatusCodes constants instead of literals in the ProducesResponseType code fix ( #8234 )
...
* Use StatusCodes constants instead of literals
2018-08-08 14:41:30 -07:00
Kiran Challa
c16f86f0ef
React to Routing repo's api changes
2018-08-03 16:25:41 -07:00
Pranav K
a375cba359
Copy action constraints and EndPointMetadata when setting up a PageActionDescriptor ( #8208 )
...
* Copy action constraints and EndPointMetadata when setting up a PageActionDescriptor
Fixes #8207
2018-08-03 12:04:44 -07:00
James Newton-King
ac410b76d9
Change MvcEndpointInfo to internal ( #8210 )
2018-08-03 16:30:57 +12:00
Pranav K
ce8fc29728
ConsumesAttribute accepts requests without content type
...
Fixes #8174
2018-08-02 16:27:23 -07:00
Pranav K
e2b6f07778
Respect LowercaseUrls in ApiExplorer
...
Fixes #8006
2018-08-02 14:58:41 -07:00
Pranav K
5a20037965
Move API convention analyzers to Microsoft.AspNetCore.Mvc.Api.Analyzers
...
Fixes #8153
2018-08-02 13:53:33 -07:00
Artak Mkrtchyan
6d9aa281c5
Render `maxlength` attribute for an input tag, when MaxLength or StringLength validation attributes are applied to the model class.
2018-08-02 13:44:19 -07:00
Pranav K
b7335ac768
Add a code fix that applies ProducesResponseTypeAttributes
2018-08-02 09:40:18 -07:00
Ryan Nowak
2b289d2f2c
Use MatcherPolicy for Consumes
2018-08-01 19:05:04 -07:00
James Newton-King
44f5b54f5f
React to routing API review ( #8194 )
2018-08-02 13:37:43 +12:00
Pranav K
814a803ed8
Use local instances of MemoryCache in script, link and image tag helper
2018-08-01 10:14:31 -07:00
Kiran Challa
f4ff537a31
Fix flaky test by using a different instance of contract resolver
...
[Fixes #8175 ] FlakyTest: ExecuteAsync_ErrorDuringSerialization_DoesNotCloseTheBrackets
2018-08-01 07:33:37 -07:00
Kiran Challa
ab84d17bb3
Unskip endpoint routing functional tests
2018-08-01 07:22:42 -07:00
James Newton-King
046af405b6
Rename global routing to endpoint routing ( #8179 )
2018-08-01 15:05:49 +12:00
Pranav K
0726b8b98b
Make publicly exposed Roslyn types internal
2018-07-31 11:08:22 -07:00
Pranav K
d346255db6
Add analyzer and codefix that suggests removing unnecessary invalid model state validity checks
...
Fixes #8146
2018-07-30 13:14:20 -07:00