Commit Graph

113 Commits

Author SHA1 Message Date
Doug Bunting 3b0e289387 Apply VS' FormatDocument and RemoveAndSort to all *.cs files
- #EngineeringDay
- this repo was relatively clean
2014-11-20 10:09:28 -08:00
Doug Bunting 1a101d7815 Delete trailing whitespace
- #EngineeringDay
- Total replaced: 105  Matching files: 44 in *.cs files
- Total replaced: 27  Matching files: 1 in all other files
2014-11-20 09:40:12 -08:00
Ajay Bhargav Baaskaran 91c3a550f1 changed contracts.assert to debug.assert 2014-11-18 13:52:42 -08:00
Ryan Nowak 01345eca91 Fix for #92 - Make Constraints, DataTokens, and Defaults readonly
The properties on TemplateRoute for DataTokens and Defaults are now
readonly. This prevents modifying these collections in a way that
invalidates cached data, or violates thread-safety.

To do the same for constraints, this change includes a substantial refactor
of how we realize inline constraints, and moves the constraint resolver
out of the parsing phase.

This allow creates a builder for the constraint map, that will make it
easier to implement features like optional constraints, and is reusable
for anyone building their own type of routing system.
2014-11-18 11:24:25 -08:00
SonjaKhan 673854b060 renaming TraceType to LogLevel 2014-11-05 10:47:42 -08:00
Ryan Nowak 08c591c74b Fix for #104 - RouterMiddleware should take ILoggerFactory in the
constructor

Did some cleanup here to make these tests work on CoreCLR. They weren't
using Moq for anything important.
2014-11-03 12:38:17 -08:00
Ryan Nowak aae9e67773 add docs 2014-10-31 15:02:54 -07:00
Ryan Nowak d78e5478a7 Fix for #65,116 - Implement 'stack of routers'
This is the routing part of the fix. MVC will be updated as well
(attribute routing).

As the graph of routers is traversed, routers add themselves to the
current 'path', which unwinds on a failed path.

This mechanism is opt-in. Whoever adds something needs to remove it as
part of cleanup. If a router in the tree doesn't interact with the
.Routers property, then there are no consequences for those that do.

Additionally, fixing #116 as part of the same change. This means that we
create a nested 'RouteData' and then restore it on the way out. This is
simpler than just dealing with the .Routers property in isolation.
2014-10-31 14:07:35 -07:00
Kirthi Krishnamraju bc0b61b6f2 Merge branch 'release' into dev 2014-10-29 13:19:43 -07:00
Kirthi Krishnamraju 40b2da7cc7 Added description to project.json 2014-10-29 11:45:42 -07:00
Pranav K b95247d3c4 Merge branch 'release' into dev 2014-10-28 12:36:55 -07:00
Pranav K 0350ca1dba Switching TraceType to Verbose 2014-10-27 16:27:58 -07:00
Pranav K 16725ac0d7 Adding reference to System.Reflection.Extensions 2014-10-24 01:09:02 -07:00
Ryan Nowak db140c9f21 Fix #91 - Make LoggerExtensions public but in an internal namespace 2014-10-22 18:14:05 -07:00
jacalvar 02a0a218b9 [Fixes #90] RouteTemplate does not take RouteData
Changed the implementation of route template to merge the existing route data
with the values obtained from parsing the request path with the given template.

Restored original route data values in case the route template data does not match.
2014-10-22 13:22:11 -07:00
Pranav K e0f01aa6bb Remove unnecessary references from project.json 2014-10-17 17:49:31 -07:00
Stephen Halter fff1d62f01 Change GetService calls to GetRequiredService
GetRequiredService throws for missing services like GetService used to.
2014-10-17 15:31:57 -07:00
Hao Kung 30a4ee1ce1 React to EnsureRoutingServices fix 2014-10-14 21:03:16 -07:00
Hao Kung 86dcbfd0d1 React to options and hosting changes
Uses EnsureRequestServices to force RequestServices to be created
2014-10-14 19:09:15 -07:00
Harsh Gupta 3b19de0e42 Fixing #106 2014-10-14 17:51:15 -07:00
SonjaKhan 2a8ac595d8 Refactoring ILogger, see aspnet/Logging#3 2014-10-14 10:20:58 -07:00
jacalvar 3ff9d6e8a0 [Fixes #108] Disallow the use of '*' in route parameter names 2014-10-13 15:55:02 -07:00
Pranav K e8de0f9d6e Updating System.Text.RegularExpressions version 2014-10-10 14:01:37 -07:00
Pranav K 91a11a9dfe Reacting to CLR package versioning changes 2014-10-10 10:34:07 -07:00
Max Toro fc5f702162 Made GetVirtualPath virtual
For extensibility. This method has always been virtual in MVC and Web API.
2014-10-06 19:21:20 -07:00
Pranav K b15810a173 Reacting to System.Text.Encoding package version change 2014-09-11 10:06:57 -07:00
Chris Ross fbe4da4db9 Handle IBuilder rename to IApplicationBuilder. 2014-09-10 12:44:52 -07:00
David Fowler 4a8de5dad4 Updated to use the new target framework in project.json 2014-09-04 01:50:07 -07:00
David Fowler 81e905cfa9 Updated to use the new target framework in project.json 2014-08-28 23:45:58 -07:00
jacalvar ab7445f59d [Fixes #9] Use a common query string builder api
1. Added a reference to Microsoft.AspNet.WebUtilities.
2. Refactored TemplateBinder to use QueryBuilder instead of
   manually creating a query string.
2014-08-27 10:04:29 -07:00
harshgMSFT 30084b061b Removing stale entry in .kproj 2014-08-15 17:34:34 -07:00
harshgMSFT 70402c8f2c Adding RegexInlineRouteConstraint 2014-08-15 17:32:25 -07:00
David Fowler 966d6dd016 Removed source files from the project 2014-08-15 09:26:26 -07:00
harshgMSFT e12122ec76 Fixing doc comment. 2014-08-13 11:57:56 -07:00
harshgMSFT efdd3054d2 Adding DataTokens Support. 2014-08-11 11:59:00 -07:00
harshgMSFT 5b849596bb Fix for Issue#55 Changing Template->RouteTemplate 2014-08-06 16:14:50 -07:00
Ben Brown fca9831115 Routing Logging
Added scoped logging to RouterMiddleware, RouteCollection, and
TemplateRoute.
2014-08-01 13:59:48 -07:00
Ryan Nowak 61436fb7d1 Revert "Revert "Fix for issue 85 - Dictionary types should return null on key not found""
This is reverting the revert. We're going to go ahead with this change and
work around it in MVC.

This reverts commit 0e826e69e6.
2014-07-31 15:01:03 -07:00
Ryan Nowak 0e826e69e6 Revert "Fix for issue 85 - Dictionary types should return null on key not found"
This is causing issues with routing functional tests in CoreCLR. Suspect
CoreCLR compat issue.

This reverts commit ae65001e84.
2014-07-25 14:35:36 -07:00
Ryan Nowak ae65001e84 Fix for issue 85 - Dictionary types should return null on key not found
This change makes RouteValueDictionary a full IDictionary implementation
instead of a subclass of Dictionary.

Followed the patterns used in the old implementation, namely preserving
the struct-returning behavior of Keys/Values/GetEnumerator.
2014-07-25 13:17:52 -07:00
Ryan Nowak 3eb6c22330 Make RoutePartsEqual public. 2014-07-15 14:25:05 -07:00
Pranav K b9898ef249 Reacting to System.Collections versioning change 2014-07-14 15:54:43 -07:00
Ryan Nowak ad0ebb9f4c cr feedback 2014-07-14 15:31:45 -07:00
David Fowler f696a06012 Renamed configurations to frameworks in project.json 2014-07-13 22:00:44 -07:00
Ryan Nowak 27d6a735af Implement a 'required' constraint
This is useful for a variety of interesting scenarios in link generation
where a default value doesn't appear in the route template as a parameter.

This can be used to implement the desired behavior for areas - where the
'area' key is sticky.
2014-07-08 16:23:14 -07:00
Ryan Nowak 63dcdd6ca5 Fix for #77 - pass ambient values not in the template to constraints
This change adds tests and makes the behavior consistent with legacy MVC
as far as what values are visible in constraints.

This is important because it allows constraints to make decisions based on
whether or not a value is present even if it's not in the template. This
is similar to the behavior of WebAPI link generation or Area link
generation in MVC 5 - but without hardcoding.
2014-07-08 10:18:00 -07:00
tugberkugurlu c6eff50c24 directly return inside the BuilderExtensions.UseRouter method 2014-07-01 10:03:52 +03:00
Brice Lambson a0a0db9856 Bump version to 1.0.0-* 2014-06-19 16:46:05 -07:00
harshgMSFT cef4a3ec05 Removing dictionary overloads from MapRoute. 2014-06-19 14:38:08 -07:00
harshgMSFT fbffcb7b40 Adding Remaining Inline Route Constraints. 2014-06-18 16:29:49 -07:00