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
Ryan Nowak
89a962716f
React to Routing LinkGenerator changes
2018-09-22 15:47:38 -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
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
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
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
Ryan Nowak
35597db277
Fix #8451
...
Change tokens can call into your code IMMEDIATELY when you subscribe. I
reviewed our other usage of ChangeToken.OnChange in MVC and everything
looks good.
2018-09-13 15:38:42 -07: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
James Newton-King
6e27a04bf3
No HttpContext to route constraints in MvcEndpointDataSource ( #8436 )
2018-09-11 10:12:09 +12: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
Joni
72f7e52e1e
Remove blank line
2018-09-07 14:48:17 -07:00
gqqnbig
fd80509fef
LocalizedHtmlString.Value doesn't include arguments ( #8376 )
...
* Clarify that Value is prior to formatting with any constructor arguments
2018-09-07 08:58:52 -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
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
Takaaki Suzuki
c0f3a46ffe
Don't call GetValidity method twice.
2018-09-06 07:33:48 -07:00
Ben Adams
e174d277bd
Inline
2018-09-05 20:53:06 -07:00
Ben Adams
337bc462de
Fast-path async in PagedBufferedTextWriter
2018-09-05 20:53:06 -07:00
Ryan Nowak
fabe189470
React to LinkGenerator changes
2018-09-05 20:52:37 -07:00
Hassan Hashemi
bca3160190
Remove redundant check
...
fixed https://github.com/aspnet/Mvc/issues/8374
2018-09-05 17:04:20 -07:00
Pranav K
d8b7dbd1f3
Avoid null refs when IStatusCodeActionResult cannot be discovered
2018-08-30 15:17:09 -07:00
Ben Adams
3dfa26f7e3
Resolve virtual ViewContext max once per method
2018-08-30 14:04:08 -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
Kristian Hellang
ffdbea9dc1
Add analyzer support for status code methods and constructors
2018-08-29 18:23:52 -07:00
Ben Adams
2a426dfea5
Make ViewBuffer methods more inlinable ( #8339 )
...
* Make ViewBuffer methods more inlinable
2018-08-29 17:07:45 -07:00
Ben Adams
22a40b6f2b
Use Pages as List
2018-08-29 16:18:25 -07:00
Ben Adams
7bd9f9cc3e
Reduce IList interface calls
2018-08-29 16:18:25 -07:00
Pranav K
82a01a414d
Set trace id in ProblemDetalsClientErrorFactory
2018-08-29 16:03:08 -07:00
James Newton-King
b649133eec
Refactor KnownRouteValueConstraint to not require HttpContext ( #8352 )
2018-08-30 08:57:53 +12: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
Massimiliano Donini
17d72c2b94
Fix msbuild targets to correctly copy deps.json
2018-08-28 13:32:48 -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
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
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
Ryan Brandenburg
200a70bb86
Update doc comments
2018-08-15 11:42:50 -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
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
9585084258
Using Routing feature branch versions
2018-08-07 13:38:36 -07:00
James Newton-King
47f2f451e3
EnableEndpointRouting documentation ( #8220 )
2018-08-07 09:22:33 +12:00
Kiran Challa
c16f86f0ef
React to Routing repo's api changes
2018-08-03 16:25:41 -07:00
James Newton-King
d4472f08ed
Remove legacy EnableGlobalRouting option ( #8214 )
2018-08-04 09:58:00 +12: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
0989231ed5
Make structs readonly
2018-08-02 15:44:09 -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
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
ddde149792
Cleanup some IDE warnings
2018-07-30 15:06:43 -07:00
Pranav K
b2a1a7c9de
Ensure parent is a MethodDeclarationSyntax
2018-07-30 14:59:27 -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
Justin Kotalik
367717760b
Handle subtype with suffix being a subtype without a suffix ( #8170 )
2018-07-30 12:05:41 -07:00
Pranav K
0102d4efab
Introduce ApiConventionMethodAttribute
...
Fixes #8147
2018-07-30 11:13:25 -07:00
Ryan Nowak
fbae57cde1
React to the removal of EndpointConstraint
2018-07-28 19:03:16 -07:00
James Newton-King
c01c7075be
Add EndpointMetadata to ActionDescriptor and hookup CORS ( #8158 )
2018-07-28 16:12:54 +12:00
Doug Bunting
556880872d
Ensure later validations of `null` models do not overwrite `Invalid` state
...
- #8078
2018-07-26 13:49:22 -07:00
Doug Bunting
498fa2d72f
Avoid `InvalidOperationException` when serializing `SerializableError`
...
- #8055
- provide unique name (`<Empty-Key>`) for XML elements that would otherwise be nameless
nits:
- remove now-useless Mono special case in updated test class
- extend updated tests to involve square brackets as well as empty keys
2018-07-26 08:56:02 -07:00
James Newton-King
f31ab716ee
Change MvcEndpointDataSource to use GetChangeToken ( #8137 )
2018-07-26 09:20:26 +12:00
Kiran Challa
10ce77b9ca
Updated MvcEndpointDataSource to create endpoints with SuppressLinkGenerationMetadata
2018-07-25 06:41:57 -07:00
James Newton-King
c08504b08a
MVC startup experience ( #8131 )
2018-07-25 14:30:51 +12:00
Kiran Challa
3df34dbbfe
React to Routing repo's LinkGenerator api changes
2018-07-24 05:20:53 -07:00
Alexej Timonin
52c1e942c6
Added UseCamelCasing and UseMemberCasing extension methods to MvcJsonOptions ( #7256 )
2018-07-23 10:11:04 -07:00
Ryan Nowak
196e3f109f
React to Routing branding
...
This is a reaction PR for the branding changes in progress in Routing.
This can be merged after the changes to in to Routing.
2018-07-22 19:47:15 -07:00
kishan.anem
c0ba374549
Custom error messages with validation message tag helper #8035
...
#8035
PR #8087
https://github.com/aspnet/Razor/issues/2497
2018-07-22 17:55:06 +05:30
Remco
28c0c4d128
Add ability to override the testing web content root using environment variables
2018-07-20 16:56:24 -07:00
Alexej Timonin
d4beab5d09
CompositeValidationAttribute
...
- Add abstract CompositeValidationAttribute.
- Change DataAnnotationsMetadataProvider.CreateValidationMetadata to
populate ValidatorMetadata with validation attributes from CompositeValidationAttribute.
2018-07-20 15:31:14 -07:00
Ryan Nowak
5c488bf09c
make feature branch build
2018-07-20 12:57:43 -07:00