Commit Graph

2883 Commits

Author SHA1 Message Date
Jass Bagga bb07119b4a
Handle "month" input type (#7022)
Addresses #6615
2017-11-09 10:25:36 -08:00
Steve Sanderson d9825d1547 Better JSON deserialization errors. Implements #4607, #4862 2017-11-06 23:02:13 +00:00
Pranav K ab4c519dd5 Infer multipart/form-data for FromFile parameters 2017-11-02 09:36:31 -07:00
Nate McMaster 2e4bc548f5
Pin tool and package versions to make builds more repeatable (#7013) 2017-10-31 19:18:14 -07:00
Ryan Nowak 861d78fb78
Refactor content negotiation code into a service (#6998)
* Refactor content negotiation code into a service

This is a refactor in anticipation of using this logic in some other
places
2017-10-31 16:32:37 -07:00
Pranav K de2aef61ba Make controllers with ApiControllerAttribute visible in ApiExplorer 2017-10-27 12:04:12 -07:00
Javier Calvarro Nelson 0989e60f73 [Fixes #6943] Unit Testing Page Model Throws Null Ref On ModelState check 2017-10-26 14:37:42 -07:00
Dale Palmer c567a690bc [Fixes #6902] Added an overload for StatusCode that takes in System.Net.HttpStatusCode 2017-10-26 12:41:34 -07:00
Pranav K 8946a68923 Infer binding sources for ApiController parameters
Fixes #6847
2017-10-16 15:20:43 -07:00
Ryan Nowak 7ba167fcd8 Add 'default response' to API Response Type
Also some cleanup and unit tests.
2017-10-09 19:48:52 -07:00
Nate McMaster 3bfb023679 Update how PackageReference versions are set
Changes:
 - Remove floating versions
 - Disable myget feeds during a Universe build
 - Use package-specific MSBuild variables. Pattern = `packageId.Pascalize() + "PackageVersion"`, with a few exceptions.
2017-10-09 11:11:24 -07:00
Sébastien Ros c4400d22d4 Port fix for URL helper redirect (#6916)
Fixes #6910
2017-10-05 11:24:36 -07:00
Sébastien Ros d0a8b5f78f Port fix for URL helper redirect (#6917)
Fixes #6910
2017-10-05 11:24:18 -07:00
Pranav K 950db6587c Require attribute routing with [ApiController]
Fixes #6870
2017-10-04 13:13:20 -07:00
Doug Bunting e659b578f6 Typo fix 2017-10-04 09:00:34 -07:00
Ryan Nowak e3ce1f52d4 Added Conflict result helper to ControllerBase
- Added ConflictObjectResult and ConflictResult types.
- Conflict(), Conflict(object error), Conflict(ModelState modelState)
added to ControllerBase.cs.

Fixes #6172
2017-10-02 15:05:57 -07:00
Nate McMaster bf7c9e053e Use MSBuild to set NuGet feeds instead of NuGet.config 2017-10-02 14:13:16 -07:00
Ryan Nowak be5d4ec11e Undo a breaking change 2017-10-02 13:12:25 -07:00
Jass Bagga 2fcfc6be7c Add EnableRangeProcessing (#6895)
Addresses #6780
2017-09-29 18:39:45 -07:00
Jass Bagga bd8b4d86df Port fix for #6875: Only set Content-Length when serving body (#6888)
Addresses #6887
2017-09-25 16:01:15 -07:00
Jass Bagga eeac99985a Only set Content-Length when serving body (#6886)
Addresses #6875
2017-09-25 15:07:12 -07:00
Javier Calvarro Nelson 1ca5884388 Merge tag 'refs/tags/rel/2.0.0' into javiercn/rel/2.0.1 2017-09-25 13:23:18 -07:00
Javier Calvarro Nelson 562e0234d6 Add MVC 2.0 baselines 2017-09-25 13:01:21 -07:00
Kiran Challa 83c3ac62fb Updated formatters to wrap exceptions in InputFormatException for invalid input 2017-09-22 14:33:17 -07:00
Javier Calvarro Nelson f24d71136a Add breaking changes file 2017-09-22 13:53:51 -07:00
Javier Calvarro Nelson a8eda83222 Add MVC 2.0 baselines 2017-09-22 12:53:12 -07:00
Ryan Nowak 38712609bb Design extensibility for executors
We have all of these executors but they aren't really
documented/supported for extensibility today. This change introduces a
pattern for action result executors so we can make them extensible.
2017-09-22 10:32:55 -07:00
Pranav K 5d1603c37f Replace ProblemDetailsAttribute with ApiControllerAttribute 2017-09-22 10:26:13 -07:00
Kristian Hellang 97fab8711a Add UnprocessableEntityResult, UnprocessableEntityObjectResult and ControllerBase.UnprocessableEntity methods (#6851)
* Added UnprocessableEntityResult

* Added UnprocessableEntityObjectResult

* Added UnprocessableEntity overloads to ControllerBase

Fixes https://github.com/aspnet/Mvc/issues/6795
2017-09-22 09:27:29 -07:00
Pranav K 197ef139d6 Provide a way within the Page/PageModel to run code before any handler runs
Fixes #6606
2017-09-22 09:25:22 -07:00
Steve Sanderson 236ef5d1d1 Support validation and BindBehavior on top-level action parameters and bound properties. Fixes #6790 2017-09-22 10:13:48 +01:00
Meir017 0fae663b9a Update WebApplicationTestFixture.cs
removed duplicated code
2017-09-21 16:17:05 -07:00
Kiran Challa a96fb68690 Fixed FileExtensionsAttributeAdapter to trim(whitespaces, dot character) and lowercase the extensions 2017-09-21 14:52:24 -07:00
Charlie Daly 324db455d9 ControllerBase helpers refactored with lambda syntax.
- Addresses #6864
2017-09-21 13:19:33 -07:00
Pranav K 7f214492b8 Introduce a filter to send bad request results with details when ModelState is invalid (#6849)
* Introduce a filter to send bad request results with details when ModelState is invalid

Fixes #6789
2017-09-21 11:09:32 -07:00
Javier Calvarro Nelson 85f3c841f1 Revert "Revert "Improvements to the testing package.""
This reverts commit 7b28334c41.
2017-09-19 21:45:05 -07:00
Ryan Brandenburg 7b28334c41 Revert "Improvements to the testing package."
This reverts commit 96bd2769d0.
2017-09-19 18:02:53 -07:00
Pranav K 127d23a022 Parse LanguageVersion correctly
Fixes https://github.com/aspnet/Mvc/issues/6611
2017-09-19 13:38:40 -07:00
Pranav K f0a5af2ba7 Revisit the unwrapping code in ControllerActionInvoker
Fixes #6679
2017-09-19 09:49:37 -07:00
Javier Calvarro Nelson 96bd2769d0 Improvements to the testing package.
* Detect a ConfigureDefaultBuilder static method on Program.cs of the test site
and use it to initialize the IWebHostBuilder instance that we configure for testing.
* Make use of the new service configuration extensibility points in Hosting to override
services for testing.
* Get rid of MvcWebApplicationBuilder and move MVC specific methods into extension methods.
2017-09-18 18:12:01 -07:00
Kiran Challa 72eb546329 Added attribute adapter for DataAnnotation's FileExtensionsAttribute 2017-09-18 16:20:26 -07:00
Doug Bunting fd9cb08790 Add Switch.Microsoft.AspNetCore.Mvc.UseDateTimeTypeForDateTimeOffset quirks mode
- patch recipients can use switch to undo the #6648 fix
2017-09-18 15:13:43 -07:00
Doug Bunting 6041c6b966 Auto-select `type="text"` for `DateTimeOffset` values
- cherry-picked from 7e4a8fe in dev
- #6648
- a different take on #4871
- `DateTime` can also round-trip `DateTimeKind.UTC` with `[DataType("datetimeoffset")]` or `[UIHint("datetimeoffset")]`
- since they're now handled differently by default, add more `DateTime` tests
- expand tests involving `Html5DateRenderingMode.CurrentCulture`

nits: make VS-suggested changes to files updated in this PR
2017-09-18 15:13:33 -07:00
Pranav K 9f5e4eb483 Allow "page" route parameter to be used in Mvc controllers
Fixes #6660
2017-09-18 15:02:13 -07:00
Kiran Challa 47287c508e Added new extension methods to configure all MVC localization services
[Fixes #5436] Must call `AddViewLocalization()` to use `IStringLocalizer<T>` in an application
2017-09-18 14:28:55 -07:00
Kiran Challa 23b7d8f62a Added RequestFormLimits filter.
[Fixes #5128] Overriding Request Form max upload limit
2017-09-18 13:48:15 -07:00
Ryan Nowak e114911d77 Introduce [ApiController]
This puts a de-facto metadata approach in the box to declare
unambiguously 'Hey, I am an API!'.

I think this is worth us doing at this point because I haven't really
seen anyone in the community running with targeting conventions at
equivalence classes of controllers.

Now that we're putting API-specific, opinionated behaviors in the box,
we need to away to make it opt-in and declarative.
2017-09-18 12:43:05 -07:00
Ryan Nowak c09575dbd0 Fix #4914 patternize filter overrides
Adding some convenience methods to the context class and updating our
code to use them.
2017-09-18 12:12:44 -07:00
Jass Bagga b3aa691549 Add EnableRangeProcessingSwitch for FileContentResult and Fil… (#6839)
Addresses #6792
2017-09-18 10:57:49 -07:00
Pranav K c13cef6a74 Injecting IViewLocalizer into Razor Page causing IndexOutOfRangeException
Fixes #6694
2017-09-15 15:58:32 -07:00
Pranav K 776c2604f8 Introduce opinionated API defaults.
* Introduce ProblemDescriptionAttribute to enhance some 4xx messages and produce better API description.
* Introduce IErrorDescriptionProvider to modify the shape of error response.

Fixes #6785, Fixes #6786
2017-09-14 17:07:34 -07:00
Pranav K 037c1ec47d Make @inherit + Razor Pages + _ViewImports work
Fixes #6769
2017-09-14 12:34:00 -07:00
Kiran Challa 35601f95b3 Added a model binder for handling Enum types. [Fixes #6329] Why don't we check for Enum.IsDefined on action parameters of enum type 2017-09-14 08:25:05 -07:00
Ryan Nowak db2d9ee56f Additional fixes for #4604 2017-09-13 23:39:00 -07:00
Charlie Daly 9db92dc6a7 JsonResultExecuter logs type of result.
- MvcJsonLoggerExtensions.JsonResultExecuting logs result type instead of value
- Nulls handled more elegantly.
- Two tests added to JsonResultExecutorTests.cs.
- #4604
2017-09-13 23:39:00 -07:00
Nick Chapsas db397d812b TagHelperOutput extension methods for class value manipulation (#6565)
* Added TagHelperOutput extension methods for class value manipulation
2017-09-13 11:58:10 -07:00
Kiran Challa 4f18d99d02 Added RedirectToAction overload with no arguments 2017-09-12 17:17:48 -07:00
Kiran Challa 06f6de6c11 Changed RequestSizeLimitAttribute to create an authorization filter rather than a resource filter.
[Fixes #6777] RequestSizeLimit is ignored
2017-09-12 17:03:24 -07:00
Pranav K de38922601 Allow BindPropertyAttribute to be applied on PageModel
Fixes #6653
2017-09-12 10:34:19 -07:00
Pranav K 63397653fa Make DefaultApiDescriptionProvider understand ActionResult<T>
Fixes #6784
2017-09-11 14:20:38 -07:00
Pranav K 6bf165f22f Update default Razor search paths to include ~/[PagesRoot]/Shared
Fixes #6604
2017-09-11 14:11:39 -07:00
Christiaan a8b7904b00 Fix logger category of FileStreamResultExecutor
FileStreamResultExecutor creates a logger for VirtualFileResultExecutor. I suspect this is a copy-and-paste error and creating one for FileStreamResultExecutor was intended instead.
2017-09-08 11:09:20 -07:00
Kiran Challa 3beb310866 Avoid saving TempData in case of unhandled exceptions. [Fixes #6598] BUG? Accessing TempData prevent response to have content on error. 2017-09-07 13:13:27 -07:00
Pranav K 717f1e6f7d Normalize paths in RazorViewEngine prior to invoking page factory
Fixes #6672
2017-09-07 11:36:31 -07:00
Pranav K a7cc243942 Introduce ProblemDescription 2017-09-06 18:46:35 -07:00
Pranav K 151cf44607 Introduce ActionResult<T> 2017-09-06 18:46:06 -07:00
Pranav K bac68ba3c2 Injecting IViewLocalizer into Razor Page causing IndexOutOfRangeException
Fixes #6694
2017-09-06 13:54:38 -07:00
Doug Bunting 7e4a8fe479 Auto-select `type="text"` for `DateTimeOffset` values
- #6648
- a different take on #4871
- `DateTime` can also round-trip `DateTimeKind.UTC` with `[DataType("datetimeoffset")]` or `[UIHint("datetimeoffset")]`
- since they're now handled differently by default, add more `DateTime` tests
- expand tests involving `Html5DateRenderingMode.CurrentCulture`

nits: make VS-suggested changes to files updated in this PR
2017-09-05 16:05:13 -07:00
Adrian Wright 1d1a5203db Fix spelling mistakes in xml comments (#6755) 2017-09-05 12:52:13 -07:00
Doug Bunting 8645ada6b5 Remove no-op behaviour for no-content `<label></label>` elements
- #6638
2017-08-31 09:21:44 -07:00
Ryan Nowak 257d202a14 Make AddMvcCore docs scarier
Fixes #6632
2017-08-31 08:01:29 -07:00
bchavez 16c267d95e House Cleaning - Spelling and grammar 🚿 2017-08-30 14:58:44 -07:00
Manoj Kulkarni 87027de89c Fixed minor typo 2017-08-30 14:57:27 -07:00
Nate McMaster b811e69d00 Use PackageLineup to manage PackageReference versions
- Move the Mvc.Performance project from test/ to benchmarks/.
 - Remove the Version attribute on PackageReference.
 - Add a reference to two PackageLineup's.
 - Add snippet to README explaining the additional requirement to run build.cmd /t:restore.
 - Add a target to check that packages have been pinned.
2017-08-30 12:14:11 -07:00
Pranav K b82200851f Do not re-discover runtime compiled RazorPage files for precompiled Razor Pages.
Fixes #6718
2017-08-29 16:15:07 -07:00
Kiran Challa b2f9ad1b67 Changed CookieTempDataProvider's CookieSecurePolicy from SameAsRequest to None 2017-08-29 14:55:52 -07:00
Kiran Challa cfc05104e4 Updated to use WebEncoders utility's Base64Url encode/decode functionality 2017-08-29 08:37:28 -07:00
Alex 4917e69ad6 Fixed spelling mistake 2017-08-27 22:27:21 -07:00
Pranav K 7b2a4ff465 Allow "page" route parameter to be used in Mvc controllers
Fixes #6660
2017-08-24 15:44:37 -07:00
Pranav K 900a5c7c4c Add support for ResponseCache in Razor Pages
Fixes #6437
2017-08-18 16:25:40 -07:00
Nate McMaster b43b244830 Use Directory.Build.props/targets 2017-08-16 12:30:13 -07:00
Pranav K 5fee1cac83 Merge pull request #6655 from aspnet/rel/2.0.0
Refactor CORS support out of MVC Core
2017-08-14 16:50:14 -07:00
Javier Calvarro Nelson f2a8c1cea7 Refactor CORS support out of MVC Core 2017-08-14 11:40:56 -07:00
Pranav K eb5c23ea8e Parse LanguageVersion correctly
Fixes https://github.com/aspnet/Razor/issues/1591
2017-08-08 17:25:28 -07:00
Pranav K 2ef26486dd Add global filters with the right scope
Previously global filters were added to the page application model with Action scope. This
would have resulted in incorrect ordering of filters during execution. We'll instead add
global filters separately with the right scope. #6579 will be used to express global filters
as part of the application model.
2017-07-21 14:02:07 -07:00
Pranav K a5b55edb93 Fix filter order (#6577)
* Fix filter order
2017-07-21 10:50:34 -07:00
Hao Kung 36e24b7a31 Fix AuthZ Regression (#6574) 2017-07-20 21:18:53 -07:00
Pranav K e65e647867 Add empty baselines to suppress api check 2017-07-19 13:18:09 -07:00
Pranav K 843d9820e2 Add breakingchanges.netcore.json for Microsoft.AspNetCore.Mvc.Razor 2017-07-18 09:23:53 -07:00
Ryan Nowak c9f506d4ea Fix #6542 - correct namespace of [TempData] 2017-07-14 10:49:15 -07:00
Pranav K 998547839e Ensure IPageApplicationModelProviders are invoked in the sequence of their Order
Fixes #6536
2017-07-14 10:11:53 -07:00
Javier Calvarro Nelson c43da19ff1 Do not add the configuration for CacheTagHelperOptions to the container multiple times 2017-07-10 19:10:04 -07:00
Javier Calvarro Nelson 0c07e1e725 [Fixes #6522] Commit cache entries only when the content gets successfully generated 2017-07-10 18:18:32 -07:00
Javier Calvarro Nelson ca08b0e06b Add breakingchanges.json for tag helpers 2017-07-10 15:52:33 -07:00
Javier Calvarro Nelson 3d76fdf086 Private cache for cache tag helper and distributed cache tag helper 2017-07-10 15:00:19 -07:00
Javier Calvarro Nelson 9f60b42476 Change version suffix for Testing package 2017-07-10 10:24:07 -07:00
Jass Bagga b4fe715c71 Revert breaking change (#6519)
Addresses #6518
2017-07-07 17:09:36 -07:00
Ryan Brandenburg 9e2f8b7cb5 Comment on remaining PackageTargetFallbacks 2017-07-07 15:01:07 -07:00
Javier Calvarro Nelson e1c1682065 Testing infrastructure cleanup 2017-07-07 13:18:42 -07:00
Ryan Nowak f80f7cefa5 Fix #6480
This change logs when we encounter and exception reading temp data from a
cookie and swallows the exception. Additionally, we clear the cookie so
that this won't happen on subsequent requests.

This will handle cases where data protection is misconfigured, or a
request just has general garbage in the cookies.
2017-07-07 13:14:03 -07:00
Pranav K f1c4aa14d3 Simplify CacheTagHelper.ProcessAsync (#6506)
* Simplify CacheTagHelper.ProcessAsync

Modify ProcessAsync to cause all tasks to fail when the ongoing GetChildContentAsync call that they're
awaiting on fails.
2017-07-07 11:15:19 -07:00
Pranav K fc106ab793 Revive call to FormattingUtilities in XmlDataContractSerializerOutputFormatter
Fixes #6235
2017-07-07 10:11:28 -07:00
Ajay Bhargav Baaskaran 05f5d59e44 Fix build break 2017-07-06 19:43:42 -07:00
Ajay Bhargav Baaskaran 8bc4d7bb2d Rect to Razor rename 2017-07-06 18:45:34 -07:00
Pranav K 0c31f51d28 Update version suffix for 2.0.0 RTM release 2017-07-06 15:16:05 -07:00
N. Taylor Mullen 1be796027e React to `ParseOnlyLeadingDirectives` rename.
aspnet/Razor#1510
2017-07-06 14:26:35 -07:00
N. Taylor Mullen d71fb890ee React to `IRazorParserOptionsFeature` rename.
aspnet/Razor#1510
2017-07-06 14:20:56 -07:00
Pranav K 288da1a405 RedirectToPage(page, handler) does not work (#6503)
Fixes #6436
2017-07-06 14:12:57 -07:00
N. Taylor Mullen 7454c53047 Rely on Razors MalformedDirective identification for @page.
aspnet/Razor#1448
2017-07-05 16:57:57 -07:00
Pranav K 8963b83dd3 Remove ParseOptions and CompilationOptions from RazorViewEngineOptions (#6487)
* Remove ParseOptions and CompilationOptions from RazorViewEngineOptions

Fixes #6009
2017-07-05 14:18:49 -07:00
Nate McMaster 1eb7f9e032 Add CookieBuilder to CookieTempDataProviderOptions and obsolete duplicate API (#6472) 2017-07-05 10:19:13 -07:00
Javier Calvarro Nelson ef43b100a6 Fix a null reference exception and add some null checks 2017-07-04 14:24:40 -07:00
Ryan Nowak 8d9c16132a Fix #6479 - remove IFileProvider constructor
The RazorProject implementation used by MVC at runtime has a constructor
that takes an IFileProvider (used by tests). This causes ambiguities
when a user registers an IFileProvider in DI.

Cleaning up tests to use a mock instead of the file provider directly
2017-07-04 13:48:56 -07:00
Ryan Nowak a23307e2b1 Check for properties that can't befound
If you give ModelExpressionProvider a lambda with a private property
you'll end up here. This wasn't common before, but it seems like users
are more likely to try it with pages.

Model Metadata and Model Binding don't handle private properties, so
supporting it in Model Expressions seems less than useful.

This isn't a breaking change because this case would have resulted in a
null-ref. Addresses #6400
2017-07-04 13:26:17 -07:00
Doug Bunting c351712419 Add `FloatingPointTypeModelBinderProvider` and related binders
- #5502
- support thousands separators for `decimal`, `double` and `float`
- add tests demonstrating `SimpleTypeModelBinder` does not support thousands separators for numeric types
- add tests demonstrating use of commas (not thousands separators) with `enum` values
2017-07-03 17:55:04 -07:00
Javier Calvarro Nelson c50f55d1de Add a default sliding expiration of 30 seconds on Memory and Distributed Cache Tag Helpers. 2017-07-03 17:06:47 -07:00
Ryan Brandenburg 057a853de7 DiagnosticSource to 4.4.1 2017-07-03 15:03:34 -07:00
Sébastien Ros 13e76c24d3 Dispose CancellationTokenSource created in CacheTagHelper (#6293)
Fixes #5649
2017-07-03 14:59:48 -07:00
Hao Kung eeee3ef731 Add SignOut overload + Use new auth api (#6476) 2017-07-03 12:32:11 -07:00
Javier Calvarro Nelson d917504c14 [Fixes #6468] Clean up the productionized testing infrastructure 2017-07-03 10:15:06 -07:00
Pranav K 7c5a16c105 Add RemoveType methods of PageConventionCollection 2017-06-30 16:27:51 -07:00
Pranav K bc4328de16 Add entry to breakingchanges.json 2017-06-30 15:44:21 -07:00
Henk Mollema 948982ebff Create custom collection for model binder providers
Fixes #6161
2017-06-30 15:44:07 -07:00
Pranav K bc86ea4e47 Move convention extensions from RazorPagesOptions to PageConventionCollectionsExtensions
Fixes #6462
2017-06-30 14:25:10 -07:00
Doug Bunting f76a390a4e Fall back to linear search for prefix matches
- #6469
2017-06-30 10:59:07 -07:00
Doug Bunting 293ac81fe1 Use ordinal comparisons in `ExpressionTextCache`
- #6349
- C# field and property names are case-sensitive
  - it's not important (where this cache is used) that HTML field names are case-insenstive
2017-06-29 14:59:06 -07:00
Jass Bagga 17f6b17a6d Add RequestSizeLimitAttribute (#6453)
Addresses #6352
2017-06-29 13:04:27 -07:00
Ryan Nowak 579aca0121 Define semantics for pagemodels
Fixes #6210

Now a pagemodel requires a [PageModel] somewhere in it's hierarchy. We
don't do a guess at whether or not your model class is a PageModel.
2017-06-29 09:24:57 -07:00
Doug Bunting a90f4118ad Do not include type names in `ModelState` error messages
- #6076
- add resources and accessors specifically for the element / parameter cases
- avoid `metadata.GetDisplayName()` where possible
- fill in the `ValidationContext` that `ValidatorObjectAdapter` uses
  - e.g. `Validate_NestedComplexType_IValidatableObject_Invalid()` test fails without this

Possible future work:
- improve error message used for `ModelMetadata.IsRequired` elements and parameters
- use something besides the type for `ValidationContext.DisplayName` of elements and parameters

nits:
- trailing whitespace
- use more `out var`
2017-06-28 15:16:23 -07:00
Pranav K 8df3032540 Add support for specifying filters on page models.
Fixes #6334
2017-06-28 14:43:02 -07:00
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
Pranav K d1813a7cd7 Normalize paths returned by view location expanders
Fixes #6448
2017-06-27 08:48:07 -07:00
Ryan Nowak 3536cf5aad Fix #5183 - update docs of CreateWriter 2017-06-26 18:59:36 -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
Jass Bagga f4a86f5511 Add DiagnosticSource to RazorView (#6386)
Addresses #6222
2017-06-26 15:35:31 -07:00
Pranav K e5da44a82f Generate full pdbs for views on desktop and re-enable runtime error tests (#6442)
* Generate full pdbs for views on desktop and re-enable runtime error tests

StackTraceHelper \ PortablePdbReader used by Diagnostics is only useful for
reading portable pdbs on disk. However pdbs produced by views are entirely
in memory and therefore cannot be read. Consequently
we choose to generate full pdbs for views on Windows (when possible).
2017-06-26 10:46:12 -07:00
Javier Calvarro Nelson 03e555a24e Fix packing issue 2017-06-23 19:43:04 -07:00
Javier Calvarro Nelson 052db40567 Fix documentation and target files issues 2017-06-23 19:09:45 -07:00
Javier Calvarro Nelson 35152d5933 [Fixes #6233] Productionize and harden our functional testing infrastructure 2017-06-23 18:12:41 -07:00
Pranav K aa5a348385 _ViewStart.cshtml not picked up when added to the root of the app
Fixes #6308
2017-06-23 08:25:58 -07:00
Pranav K 0dfffd45c2 RazorPages page directives missing quotes should alert user
Fixes #5868
2017-06-22 15:13:38 -07:00
Jass Bagga 9d138affa2 Suppress JsonPatchDocument validation (#6429)
Addresses aspnet/JsonPatch#80
2017-06-22 14:14:11 -07:00
Ryan Nowak de64c84610 React to RazorIRNode renames 2017-06-21 13:44:58 -07:00
Pranav K c89f0a1e43 Allow AddPageRoute to route to pages root. (#6412)
* Allow AddPageRoute to route to pages root.
Fixes #6338
2017-06-20 12:33:33 -07:00
Pranav K f824704741 Cleanup fileLength use 2017-06-18 11:05:49 -07:00
Kiran Challa 3fc3d8d060 Merge branch 'rel/2.0.0-preview2' into dev-gate 2017-06-15 03:48:49 -07:00
Kiran Challa 0c6460ab64 Changed WebApiCompatShim projects to use PackageTargetFallback 2017-06-14 16:08:04 -07:00
Ryan Brandenburg 8832014516 PackageTarget->AssetTarget 2017-06-14 15:03:43 -07:00
N. Taylor Mullen 080836e1c5 React to FileName => FilePath renames in Razor.
aspnet/Razor#1423
2017-06-13 11:39:38 -07:00
Ryan Nowak dfe04bc917 Fix #5979 - Remove hardcoding of tempdata for pages 2017-06-12 15:05:36 -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 6961cf9211 Cleanup unused precompilation code 2017-06-09 16:45:43 -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
N. Taylor Mullen 6c69cb8f36 Make SHA256 algorithm creation FIPS compliant.
#6354
2017-06-08 10:20:36 -07:00
Pranav K a5f3a6425e Remove TaskCache and TaskCacheOfT 2017-06-08 08:19:20 -07:00
Pranav K 8662422e18 Merge pull request #6376 from aspnet/rel/2.0.0-preview2
Perform case insensitive lookups for precompiled views
2017-06-07 15:19:42 -07:00
Pranav K 1124eb5016 Perform case insensitive lookups for precompiled views 2017-06-07 15:19:21 -07:00
Eilon Lipton 32e21e2a5c Merge pull request #6363 from JamesNK/patch-1
Return a shared contract resolver
2017-06-07 14:37:18 -07:00
Pranav K 8f883e8e13 Use RazorViewAttribute \ RazorPageAttribute for view discovery 2017-06-07 13:49:24 -07:00
Nate McMaster e9362360c6 Remove unused dependency and update corefx version 2017-06-06 17:12:47 -07:00
Ajay Bhargav Baaskaran fa2d162ac1 React to razor 2017-06-06 16:43:28 -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
James Newton-King 07e975a0ed Return a shared contract resolver
Return a shared contract resolver from CreateSerializerSettings for performance
2017-06-06 17:52:18 +12:00
Pranav K 628dfc39c1 Remove model type from RazorPageAttribute 2017-06-05 16:07:14 -07:00
Pranav K 20c04d099e Update to use Razor parser to parse page directive 2017-06-05 14:02:24 -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
John Luo 3a4cae72bd Use Strict SameSite mode for temp data cookies 2017-05-30 21:04:32 -07:00
Pranav K 3089bf74fe Remove reference to Microsoft.Extensions.PlatformAbstractions 2017-05-27 17:22:05 -07:00
Pranav K 597a0c9a11 Add support for friendly routes in pages
FIxes #6325
2017-05-26 14:29:00 -07:00
Ryan Nowak 688e518991 Add result filters to pages 2017-05-26 12:33:46 -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
Ryan Nowak b7db6dbc8e Remove pass-through activator for pages
This change removes a 'pass through' IRazorPageActivator that we were
using to avoid the default one initializing the Page twice.

The fix is to add an adapter so that the IRazorPage that the RazorView has
isn't the *real* page, it's the adapter. The adapter doesn't have anything
interesting to activate :).
2017-05-26 12:29:10 -07:00
Ryan Nowak c3f7613725 Make RazorReferenceManage public
Fix for #4938. This change makes the reference manager public and
documented so that it can be replaced.
2017-05-26 10:58:45 -07:00
Doug Bunting 9f4ff22c4a React to breaking change latest API Check detects
- see PR aspnet/BuildTools#259 and issue aspnet/BuildTools#146
- relates to 014a786b45
2017-05-26 09:53:46 -07:00
Hao Kung 4c2d727e38 React to Auth + switch to Policy Evaluator 2017-05-25 18:23:41 -07:00
Pranav K bb5eb96625 Load the precompilation type from the loaded assembly 2017-05-25 15:00:12 -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
Pranav K 452578e4a8 Revisit the architecture of CompilerCache
Fixes #5912
2017-05-25 08:54:15 -07:00
Ryan Nowak 2992f8e38a Separate PageContext and ViewContext
This change decouples PageContext and ViewContext completely.
2017-05-24 16:01:52 -07:00
Ryan Nowak 6094c6ff52 Remove use of AssemblyLoadContext
This will be needed for the switch back to net46.
2017-05-24 11:05:58 -07:00
Ryan Nowak a6d97d35e3 Add back support for AddTagHelpersAsServices
This doesn't go through the Razor tag helper discovery pipeline because
this can really only ever work for ITagHelper based taghelpers. So
there's really no point in reusing that logic, which would be hard
anyway.
2017-05-23 14:04:42 -07:00
Chris R 53c56f558b React to StringSegment changes 2017-05-23 14:01:44 -07:00
Jass Bagga e681c23d5c Add ITagHelperComponentManager (#6302)
Addresses #6282
2017-05-23 13:22:15 -07:00
Pranav K 39f1f5c933 Move Pages filter creation to application model provider
Fixes #6198
2017-05-23 11:03:19 -07:00
Pranav K c5f771d96d Use factory pattern for caching in ControllerActionInvoker 2017-05-22 13:05:55 -07:00
Jass Bagga 9d38e2523c Add methods to TagBuilder (#6287)
Addresses #5689
2017-05-19 12:23:16 -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 97bbdafde3 React to Razor changes 2017-05-16 14:58:37 -07:00
Jass Bagga 51c142ae91 Modify GetProperties overload (#6276)
Addresses https://github.com/aspnet/Common/issues/219
2017-05-16 13:34:14 -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
Ajay Bhargav Baaskaran 5662717983 Add null check in WriteLiteral 2017-05-15 15:08:50 -07:00
Jass Bagga cd6befdef1 Assign unique event Ids in the logger (#6270)
Addresses #6062
2017-05-15 11:52:52 -07:00
Ryan Nowak b2d95ffb21 Remove usage of NotFoundProjectItem
We're making this type internal in Razor, using a mock here is fine.

Also renamed some types with a generic name. The actual 'default'
RazorProject class lives in Razor and is internal.
2017-05-12 15:55:36 -07:00
Jass Bagga b758a86a38 Modify ViewComponent_CannotFindComponent error message (#6263) 2017-05-12 14:15:29 -07:00
Ajay Bhargav Baaskaran 5eabae55cb Added PushWriter and PopWriter to RazorPageBase
- Removed WriteXYZTo methods
2017-05-11 15:21:42 -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
John Luo d13c9055f0 Merge branch 'rel/2.0.0-preview1' into dev 2017-05-05 19:29:20 -07:00
John Luo a1977cac50 Migration 2017-05-05 19:28:24 -07: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
Jass Bagga 87bb1d0ff5 Refactor GenerateCheckBox (#6229)
Addresses #5981 and #5983
2017-05-05 11:53:53 -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
Pranav K 720a47765d Re-enable baseline check for ViewFeatures\r\nFixes #6186 2017-05-02 11:51:01 -07:00
N. Taylor Mullen 8bece90c83 Fix asp-page-handler to generate form tags correctly.
- Prior to this change using asp-page-handler on its own did not create correct `<form>` elements. There were multiple issues, one as that the `FormTagHelper` would purposefully drop into a no-op code path. Second is the `DefaultHtmlGenerator` didn't call through to the `UrlHelper` correctly.
- Added functional test cases to validate asp-page-handler can live on its own on a form tag. This also included adding a variant where method="post".
- Added a `FormTagHelper` unit test to validate the `PageHandler` property is consumed properly.

#6208
2017-04-27 10:32:04 -07:00
Ryan Nowak b1b3a816cc Rename View() to Page()
This requires us to introduce another base class between RazorPageBase and
Page - you need this because you aren't allow to have Page.Page().
2017-04-27 09:27:14 -07:00
N. Taylor Mullen 490f94d425 Add placeholder `DefineSection` method.
- This enables 2.0.0 code generation to not error.

aspnet/Razor#1254
2017-04-26 15:12:16 -07:00
N. Taylor Mullen f165914b40 Update how `FormTagHelper` handles `get` method attributes.
- Added functional test to verify `asp-*` attributes on form taghelpers work as expected.
- Added a unit test to validate `FormTagHelper` behaves as expected.
- Moved `Method == "get"` checks into appropriate code paths. These include the one where a user specifies an empty or non-existent `action` attribute and where a user doesn't utilize any `asp-*` attributes. In the later, we default `Method` to `"get"` if it's not provided.

#6006
2017-04-25 15:17:15 -07: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
N. Taylor Mullen ef0333ac6a Add Antiforgery to the FormTagHelper pre-check for processing.
- Added a test case to the HtmlGeneration functional test (the one verifying complex FormTagHelpers).
- Added unit test verifying antiforgery behavior when it's the only provided parameter.

#6006
2017-04-24 21:46:54 -07:00
N. Taylor Mullen 5c8a161ace Change `FormTagHelper` to apply to all form tags.
- Added functional test to validate that non-attributed form tags have an antiforgery input generated. Re-generated baseline to reflect changes.
- Added a unit test to validate that parameterless `FormTagHelper`s behave as expected.

#6006
2017-04-24 18:39:01 -07:00
Pranav K ccdaa5a729 Make /Pages the default root for pages.
Fixes #6184
2017-04-24 15:46:32 -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
Ryan Nowak da5c304f5d Temporarily deativate API Check 2017-04-21 19:42:04 -07:00
Pranav K ca017eced2 Add page to AnchorTagHelper and FormTagHelper
Fixes #6088
2017-04-21 18:12:54 -07:00
Pranav K f568d3c2bc Support finding "sibling" pages when using RedirecToPage
Fixes #6083
2017-04-21 18:12:52 -07:00
Ryan Nowak 297196baa0 Design updates to handler methods and binding
Implements #6091, #6072, #6090, #5927
2017-04-21 17:29:25 -07:00
Ryan Brandenburg 908b4c8d62 FormAction from QueryString 2017-04-21 15:04:37 -07:00
Ajay Bhargav Baaskaran 8eac7c2d6c [Fixes #6117] Added RedirectToPage overloads to Controller 2017-04-21 12:19:35 -07:00
N. Taylor Mullen 83faaebdb6 Upgrade Roslyn dependency to 2.0.0.
- Added C# 7 unit and functional test to validate features work end-to-end.

#6149
2017-04-21 11:41:31 -07:00
Christopher Dresel 025870e8b9 Fix #6159 - Fix deep copy for ControllerModel and ActionModel 2017-04-21 07:41:14 -07:00
Ryan Brandenburg 5a184df808 Remove Binder from Page and PageModel 2017-04-20 17:54:50 -07:00
Hao Kung ea3becb3ca Reenable APICheck 2017-04-20 13:48:26 -07:00
Pranav K 9fe480f735 Add LazyReferenceMetadataFeature 2017-04-20 13:05:50 -07:00
Pranav K 681b798a2e RedirectToPage doesn't trim /Index from URL
Fixes #6080
2017-04-20 11:15:45 -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
Hao Kung 025efe1d6e Fix usings to use Auth 2.0 2017-04-19 15:12:50 -07:00
Ryan Brandenburg c9bfd2296d Parity between Controller and Page/PageModel 2017-04-19 15:02:06 -07:00