Commit Graph

34 Commits

Author SHA1 Message Date
jacalvar 2eec0bbf6d [Fixes #1035] RouteGroupConstraint should only be added once for non attribute routed actions
1. Changed ReflectedActionDescriptorProvider to add RouteGroupConstraint only once
   for non attribute routed actions.

2. Added tests to cover the scenario.
2014-08-19 13:14:56 -07:00
Ryan Nowak b72b44c20c Implement RouteKeyHandling.CatchAll 2014-08-14 15:59:09 -07:00
Javier Calvarro Nelson 3ab0c3af29 [Issue #733] Attribute Routing: Implement Order
1. Added an Order property to IRouteTemplateProvider, ReflectedAttributeRouteModel,
   AttributeRouteInfo, AttributeRouteLinkGenerationEntry and AttributeRouteMatchingEntry.

2. Changed the implementation of AttributeRoute to take the order into account when routing
   incomming requests and generating links.

3. Ensured a stable ordering of route entries with the same order and precedence for route
   matching and link generation based on the template text.

4. Added tests to validate that the precedence gets respected in route matching and link generation.

5. Added tests to validate that the order gets respected in route matching and link generation.

6. Added tests to validate that the order gets respected over the precedence for route matching
   and link generation.

7. Added tests to validate that routes with the same order and precedence expose a stable ordering
   for route matching and link generation.
2014-08-14 11:21:05 -07:00
Javier Calvarro Nelson 21b1174d76 [Issue #730] Attribute Routing: Flesh out attributes - Part 1
1. Added a new AttributeRouteInfo class to store all the information for
   actions that are attribute routed.

2. Added a new ReflectedAttributeRouteModel class to store all the information
   related to attribute routes in the ReflectedApplicationModel.

3. Refactored ReflectedControllerModel and ReflectedActionModel to use ReflectedAttributeRouteModel
   instead of just the attribute route template.

4. Refactored ReflectedActionDescriptorProvider to use AttributeRouteInfo and ReflectedAttributeRouteModel
   instead of just the route template.

5. Added a CombineReflectedAttributeRouteModel method in ReflectedAttributeRouteModel that handles
   combining two ReflectedAttributeRouteModel instances.

6. Removed the AttributeRouteTemplate class and moved the methods for combining attribute routes to the
   ReflectedAttributeRouteModel class.

7. Added unit tests for ReflectedActionModel and  ReflectedControllerModel that
   cover the usage of AttributeRouteInfo.

8. Added unit tests for CombineReflectedAttributeRouteModel.
2014-08-14 11:21:01 -07:00
Ryan Nowak 2987f98283 Adding parameter replacement 2014-07-29 16:14:57 -07:00
Ryan Nowak 96c759e25c Add friendly name to action descriptor. Issue 820
Used in error messages for various attribute routing pieces, and anywhere
that you need a display name for an AD.
2014-07-29 15:21:34 -07:00
Ryan Nowak d13f6474d8 adding a few tests for areas 2014-07-21 14:52:44 -07:00
Ryan Nowak 1b07c89322 cr feedback 2014-07-21 14:52:41 -07:00
Ryan Nowak 745239f09f Adding Attribute Routing Link Generation 2014-07-21 14:52:38 -07:00
Ryan Nowak e396f1b451 Adding attribute routing 2014-07-03 18:53:38 -07:00
Pranav K d39b1a3786 ActionDescriptor.Parameters is not populated by provider 2014-06-20 19:28:28 -07:00
Ryan Nowak e6ba1f23a2 refactor of action descriptor pipeline
(cherry picked from commit 634f756e7fd303fc3022563fcd8fb9b1cb47fba2)
2014-06-20 11:11:08 -07:00
Tian Pan 60443101d5 Enable request to reach base controller class's action
Fix #378
2014-06-11 10:57:19 -07:00
dougbu 84396ad875 Clean up trailing whitespace in Core project
- checked and found no tabs in this project 😄
2014-06-09 11:56:52 -07:00
Andrew Peters f13865dedc Updating copyright headers 2014-05-08 23:01:20 -07:00
anpete 8208cd6b2f Update file headers 2014-05-01 17:42:33 -07:00
harshgMSFT 652e89b343 Adding HttpGetAttribute and AcceptVerbsAttribute.
HttpPost, HttpDelete, HttpPut and HttpPatch would be similar.
Also adding few tests.
2014-04-07 15:10:22 -07:00
harshgMSFT 8d4a6c760a Action Selection Convention: Changes for Treating Index method as a default Get/Post method.
Also adds unit tests for the changes.
2014-03-31 12:59:30 -07:00
Pranav K 8ea196023e Modify controller discovery to only look for types that reference Mvc.Core
assembly
2014-03-21 10:02:54 -07:00
Yishai Galatzer cfb06c0de3 Areas feature - Phase I
1. Areas defined by the Area attribute
2. Areas are a routeconstraint on the actiondescriptor
3. Areas find pages through route values

Other changes:
1. Remove Path from ActionDescriptor - It doesn't make sense with this change
2. Add sample Area
2014-03-19 09:26:18 -07:00
Yishai Galatzer 6f0151ba5e CR Feedback, add ordering sample to the MVCSample.
null result handling in ActionResultFilterEndPoint
2014-03-10 22:13:06 -07:00
Yishai Galatzer 8ff65267f9 remove comment 2014-03-10 22:13:05 -07:00
Yishai Galatzer 9d3e5b5a81 Rename FilterDescriptorComparer to FilterDescriptorOrderComparer 2014-03-10 22:13:04 -07:00
Yishai Galatzer 28e0792db6 CR feedback 2014-03-10 22:13:03 -07:00
Yishai Galatzer 7ddf8a7bdb Move global filters addition to AD creation time
Add origin, and simplify sorting.
Add type filter
2014-03-10 22:13:02 -07:00
Yishai Galatzer bcfccbd105 Remove allow anonymous (will happen as a separate feature) 2014-03-06 17:06:21 -08:00
Yishai Galatzer 1bcd35f5f1 Code cleanup 2014-03-06 17:02:48 -08:00
Yishai Galatzer 772f833dc9 Action filters & Authorization Filters working 2014-03-06 17:02:45 -08:00
Yishai Galatzer 8c5db4fdfa Action/ActionResult/ExceptionFilterAttribute(s)
AllowAnonymousAttribute
Name cleanup in ReflectionActionDescriptorProvider
2014-03-06 17:00:47 -08:00
Yishai Galatzer 1783a06dc0 Filter discovery 2014-03-06 17:00:46 -08:00
Yishai Galatzer 4bb66937e3 Action/ActionResult/ExceptionFilterAttribute(s)
AllowAnonymousAttribute
Name cleanup in ReflectionActionDescriptorProvider
2014-03-06 17:00:44 -08:00
Yishai Galatzer 75bccbae21 Filter discovery 2014-03-06 17:00:42 -08:00
Yishai Galatzer 2688029682 Formatting 2014-03-03 00:46:03 -08:00
Yishai Galatzer c321e40d44 Rename TypeMethodXXX to ReflectedXXX 2014-03-03 00:39:12 -08:00