Commit Graph

331 Commits

Author SHA1 Message Date
Ryan Nowak a51c78da06 Remove dictionary alloc in routing
This changes TemplateMatcher to mutate RouteData.Values directly instead
of creating a new dictionary and then merging in values. This is one the
biggest single costs in routing in terms of both allocations and execution
time.

So Match now becomes TryMatch. This will dirty the state of the RVD, so
the caller needs to snapshot it before calling into it (handled
inside the TreeRouter or RouteCollection).

Some subtle changes were needed to how/when values are added to be
compatible with the existing tests. The general idea is that we add null
values for non-parameter defaults or catchalls, but only if they don't
trounce an existing value. This logic used to live in MergeValues but now
it's in TryMatch since TryMatch might be working from existing data.

Also fixed the .sln to avoid building a package that we use as shared
source.
2016-04-08 08:46:00 -07:00
Pranav K fe66fb7f2f Removing imports from src projects 2016-04-08 06:49:12 -07:00
jacalvar 5bcea61743 Return IServiceCollection from AddRouting extension methods 2016-03-28 15:40:58 -07:00
Doug Bunting 39b4f6fe53 An `ObjectPoolProvider` is always registered
- react to aspnet/Hosting/pull#673
2016-03-25 10:08:16 -07:00
Kiran Challa 0c3f6497db Fixes issue of request path segment length greater than the wildcard template route
Fixes https://github.com/aspnet/Mvc/issues/4256
2016-03-23 17:36:07 -07:00
Eilon Lipton d89afcbbf0 Fix package metadata 2016-03-15 14:54:14 -07:00
Nate McMaster c5d8b8d109 Fix incorrect doc comments 2016-03-14 15:29:46 -07:00
Ajay Bhargav Baaskaran 3127e7a2e9 [Fixes #294] Set DefaultHandler in RouteBuilder 2016-03-10 15:25:34 -08:00
Ajay Bhargav Baaskaran 8a59bcff08 Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:33:09 -08:00
Doug Bunting 27c6d8c665 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 21:06:00 -08:00
N. Taylor Mullen bb7cb4a0d9 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:37:03 -08:00
mnltejaswini 41e3acf0fa [Perf] Avoid Linq method and save its related allocations in TreeRouter 2016-02-26 15:23:10 -08:00
mnltejaswini 1c9a54aeb8 [Perf] Reduce allocations in Link generation code paths 2016-02-24 17:25:32 -08:00
Kiran Challa 05ff447d7d Fix service collection extensions: New overload having lambda for options, return void and added doc comments. 2016-02-22 11:06:09 -08:00
Ajay Bhargav Baaskaran 3d8dcfac4f Enabled xml doc generation 2016-02-19 14:42:54 -08:00
Pranav K 2e916284cc Reacting to CoreCLR package version changes 2016-02-08 09:33:49 -08:00
N. Taylor Mullen 67d2ec580c Update project.json to remove redundant System.Runtime dependency.
- This package is pulled in transitively.
2016-02-05 17:23:05 -08:00
Ryan Nowak d97947e229 Move routing extensions to .Routing 2016-02-04 09:55:09 -08:00
Ryan Nowak 4b980c8afa Optimize defensive copies where possible 2016-02-03 15:36:42 -08:00
N. Taylor Mullen 70d674410e Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:24:38 -08:00
N. Taylor Mullen ace4553d77 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:24:31 -08:00
jacalvar 9b217a4026 Fixes [#276] Throw a nicer error when the routing services haven't been added to DI 2016-01-14 15:11:20 -08:00
John Luo c742390a3c Remove redundant AddOptions which is now a default hosting service 2016-01-07 17:45:36 -08:00
ryanbrandenburg b942e96216 * Fix LoggingExtension Naming 2016-01-07 10:03:07 -08:00
ryanbrandenburg 6e8b2ecd63 * Switch to new logging style 2016-01-06 15:07:46 -08:00
Pranav K 739dc7d621 Change the data type of VirtualPathData.VirtualPath
Fixes #270
2016-01-05 11:50:55 -08:00
Ryan Nowak 226cfb1e0d Optimize TemplateMatcher
Replaces a bunch of dictionary operations with indexing into an array by
doing some caching. Also eliminating an enumerator allocation by changing
from IReadOnlyDictionary to RouteValueDictionary.
2016-01-05 10:47:51 -08:00
grehov a61a68defc Add support IEnumerable parameters for query string 2015-12-30 16:07:04 -08:00
Ryan Nowak 33f9bdadef Pool state used to generate URL 2015-12-28 09:27:41 -08:00
Hao Kung a956fe53c1 OptionsModel => Options 2015-12-21 15:54:13 -08:00
Ryan Nowak 1e6ff07ec8 Fix routing service registration 2015-12-18 10:35:57 -08:00
Ryan Nowak 813171a016 Reduce allocation in URL generation
This change optimizes our a per-operation dictionary that really can just
be cached for the whole app's lifetime.
2015-12-18 09:20:52 -08:00
Pranav K 37c167aa74 Adding UrlEncoder to the ServiceCollection 2015-12-17 15:34:10 -08:00
Ajay Bhargav Baaskaran ef0ea537e2 Removed CatchAll and Fallback from DecisionTree 2015-12-16 10:52:53 -08:00
Pranav K 2ab24aa0f4 Remove custom url encoding
Fixes #214
2015-12-16 09:06:49 -08:00
Ryan Nowak cb39589864 Add extension methods for using routing with Middleware 2015-12-14 13:21:50 -08:00
Ryan Nowak cc501bc025 HttpMethodConstraint -> HttpMethodRouteConstraint
This is consistent with other constraint types in routing, and avoids a
naming conflict with MVC.

This is a change **away** from the names used in System.Web and
System.Web.Http.Routing, but it seems worth doing for consistency and
clarity.
2015-12-14 10:10:17 -08:00
Ryan Nowak 604fc6bb54 Fix #248 Add HttpMethodRouteConstraint
Constraint code ported from WebAPI2. Tests are new.

Also a bunch of misc cleanup for constraints.
- Move IRouteConstraint to abstractions
- Fix namespace of a constraint
- Some general style cleanup
- use RouteValueDictionary in the public API
2015-12-14 08:52:47 -08:00
Ryan Nowak 32bbd8516c Quick fix: Add routing feature on success 2015-12-11 08:36:46 -08:00
Ryan Nowak 36180ab6d0 Add IRouteHandler, RouteBase, and IRoutingFeature
Adds IRouterHandler, an abstraction for endpoints in the routing system
that can't chain (example: delegates). The idea is that some kinds of
routes aren't really friendly to chaining. If you don't support chaining,
then accept IRouteHandler and work with that rather than IRouter.

There's one implementation of IRouteHandler, RouteHandler. It implements
both IRouter and IRouteHandler.

Adds RouteBase as a base class for routes based on our template syntax and
defaults/constraints/data-tokens. Updated a lot of signatures to be
get/set virtual and mutable to facilitate or bigger variety of usage
scenarios.

Renamed TemplateRoute to just Route, now inherits from RouteBase.

Adds IRoutingFeature for middleware scenarios where you don't have access
to the route context.

Also adds some basic extension methods for accessing route values.
2015-12-10 17:55:03 -08:00
Pranav K 411a59125c Fixing CoreCLR package versions 2015-12-08 16:23:11 -08:00
Pranav K 39451a57b6 * Removing Helios from sample
* Adding System.Runtime to unblock CI
2015-12-08 11:17:29 -08:00
John Luo c672d699f1 Merge branch 'johluo/verbose-rename' into dev 2015-12-07 15:50:47 -08:00
Ryan Nowak b01183f023 Simplify link generation code
- Removes ProvidedValues and IsBound

- Removes best-effort link generation

- simplify code where possible

- lots of test simplification
2015-12-07 11:04:19 -08:00
John Luo 00a74aaa2c Reacting to verbose rename 2015-12-03 15:51:28 -08:00
Ryan Nowak c911a10692 Add Routing.Abstractions 2015-12-02 16:43:35 -08:00
Ryan Nowak 4441fba4ee Clean up folders and test names 2015-11-30 09:36:07 -08:00
Ryan Nowak 123eaf2278 Fix #233 - Routing stops when constraint is rejected
The fix here is to 'continue' instead of 'return'. Added the relevant test
cases, which only had positive cases for constraints.
2015-11-30 09:28:15 -08:00
Ryan Nowak d4b96b27c0 Optimize RouteValueDictionary, expose concrete type
This change optimizes allocations by RouteValueDictionary based on usage.

First, implement a struct Enumerator, and expose the concrete RVD type
from all extensibility points. We wanted to try and decouple this code
from RVD originally and use IDictionary everywhere. After doing that we've
found that it allocates an unacceptable number of enumerators.

Secondly, optimize copies of RVD for the case where you're copying an RVC
to another (common case). When doing this we can copy the count to get the
right capacity, and copy the entries without allocating an enumerator.

Lastly, optimize RVD for the case where it's a wrapper around a poco
object. We 'upgrade' to a writable full dictionary if you try to write to
it, or call one of a number of APIs that are uncommonly used. We could
produce optimized versions of things like `Keys` and `CopyTo` if necessary
in the future.
2015-11-25 09:49:10 -08:00
Pranav K cad81fa608 Updating tests to use moq.netcore 2015-11-23 12:24:35 -08:00
Ajay Bhargav Baaskaran 4d69ad0db2 Moved AttributeRouting from MVC 2015-11-17 12:03:12 -08:00
Ajay Bhargav Baaskaran cef221f57a Added Template property to RouteTemplate 2015-11-12 15:28:02 -08:00
N. Taylor Mullen f4f6c1127f Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:24:12 -08:00
Cesar Blum Silveira 2deca49bd7 Strong name everything. 2015-11-03 12:18:03 -08:00
Marc Climent 53fd5b5f54 Allow defaults to be null when constructiing TemplateMatcher 2015-10-23 09:51:47 +02:00
Pranav K 1fd284c87f Switching to generations TFMs 2015-10-22 00:52:03 -07:00
Eilon Lipton c0242240f8 Adding doc comments for frequently used APIs
Some copied from older docs.
Also renamed BuilderExtensions type to a more specific name.
2015-10-19 15:25:59 -07:00
Ryan Nowak a5727dc932 Incorporate StringSegment from primitives 2015-10-08 12:44:59 -07:00
Ryan Nowak e5f4aa03d2 Avoid allocating in TemplateMatcher on failure
This change rejiggers the URL matching algorithm into using a two-pass
system to avoid allocating anything when a URL fails to match a route.
2015-10-06 14:14:01 -07:00
Ryan Nowak 371d4e62da Remove string.Split from routing
This change removes the call to string.Split and a few substrings, and
replaces it with a tokenizer API. The tokenizer isn't really optimized
right now for compute - it should probably be an iterator- but it's a
significant improvement on what we're doing.
2015-10-06 10:21:00 -07:00
Pranav K 2f8dba6659 Renaming Microsoft.Framework.* -> Microsoft.Extensions.* 2015-10-03 15:44:48 -07:00
Ajay Bhargav Baaskaran d5d11eb30e Fix case sensitive comparison in TemplateMatcher 2015-09-29 14:36:42 -07:00
Ryan Nowak f95ffb57ae Make dictionary allocations lazy on RouteData
This change makes the allocation of DataTokens and Values on RouteData
lazy, and elides copies when copying an 'empty' RouteData.

In our current architecture this change will eliminiate 2 * (N + 1)
dictionary allocations/copies per request, where N is the number of routes
processed. In a large system with lots of attribute routes, this number
could be very significant.

For a small MVC site (ModelBinding, Validation, Views) with one route, it
still shows a modest reduction of dictionary allocations without adding
much complexity.
2015-09-28 22:54:32 -07:00
Anthony van der Hoorn 59b698c8b2 Expose parsed route so that observers can get extra details about the route (i.e. optional state) 2015-09-23 09:00:28 -07:00
Pranav K c6941e797f Replacing NotNullAttribute with exceptions 2015-09-11 15:08:04 -07:00
Pranav K 7cd8db6695 Adding NeutralResourcesLanguageAttribute 2015-09-10 18:29:07 -07:00
Ajay Bhargav Baaskaran ee9945f06d Added timeout to regex 2015-09-10 15:21:56 -07:00
LBi Jeroen Slor 87360d861f Added configure options. Added default default addoptions call 2015-09-04 08:48:46 -07:00
N. Taylor Mullen 5ec25174ff Update project.json to have warningsAsErrors accept a bool. 2015-09-02 15:34:53 -07:00
Hao Kung 3cab10cfd7 React to options rename 2015-09-02 13:55:39 -07:00
Pranav K 8915d428c4 Reacting to DI changes 2015-08-11 14:10:55 -07:00
Troy Dai eb266a1a7c Update CoreCLR versions 2015-08-04 10:15:32 -07:00
Pranav K fe9bf8bcbf Remove the use of Regex in the TemplateRouteParser
Fixes #164
2015-08-03 11:13:57 -07:00
Victor Hurdugaci f135b7d8dd Add repository information to project files 2015-07-01 20:22:39 -07:00
Ajay Bhargav Baaskaran 0882a393a4 Removed unwanted logging for non-matching routes 2015-06-23 10:53:58 -07:00
Ajay Bhargav Baaskaran b135a9d53b [Fixes #188] Added support for AppendTrailingSlash in RouteOptions 2015-06-19 11:46:25 -07:00
Ajay Bhargav Baaskaran 7172608722 Using LogVerbose instead of LogInformation 2015-06-16 14:33:05 -07:00
Troy Dai d3b0aba9b8 React to common package name change 2015-05-07 09:40:03 -07:00
Hisham Abdullah Bin Ateya 8636477b85 Using [NotNull] and 'nameof' operator 2015-05-06 17:43:19 +03:00
Kiran Challa f2e6c294b0 Address feedback for PR: https://github.com/aspnet/Routing/pull/182 2015-05-05 12:39:32 -07:00
N. Taylor Mullen 352732fc62 Update LICENSE.txt and license header on files. 2015-05-01 13:59:22 -07:00
Kiran Challa 1f6d3fe4cc Fix RouteValueDictionary to handle read-only dictionaries. 2015-05-01 11:55:01 -07:00
Pranav K f6e48d0080 Reacting to Logging.Interfaces => Logging.Abstractions rename 2015-04-30 10:02:47 -07:00
unknown d76b332a53 Updata _dataToken to _dataTokens in VirtualPathData 2015-04-14 16:14:36 -07:00
Kiran Challa 1c66e0a317 Cleanup logging
- Removed existing logger scopes as we want to minimize the number of scopes being created.
- Cleaned up tests related to removal of scopes.
- Added new log statements.
- Removed old logger structure base implementation and related tests. Added new tests also.
2015-04-08 14:20:36 -07:00
N. Taylor Mullen 7a2c338d25 Merge branch 'release' into dev 2015-04-07 14:49:17 -07:00
N. Taylor Mullen bca280d974 Add serviceable attribute to projects.
aspnet/DNX#1600
2015-04-07 14:49:11 -07:00
Doug Bunting a58ad8cde9 Merge remote-tracking branch 'origin/release' into dev 2015-04-03 12:10:47 -07:00
Doug Bunting 458a0f6809 Update .xproj files for Microsoft.Web.AspNet.* -> Microsoft.DNX.* rename 2015-04-02 13:49:28 -07:00
N. Taylor Mullen e825776663 Add travis-ci support.
- Runs ./build.sh verify
- Added quotes on warningsAsErrors to work around mono bug.
2015-03-31 17:50:43 -07:00
ianhong ff209f04bb Should GetVirtualPath returns PathString 2015-03-22 19:39:20 -07:00
Kiran Challa fe5b6d67c5 Fix routing sample 2015-03-20 14:55:05 -07:00
ianhong 3693002b02 Introducing VirtualPathData for IRouter.GetVirtualPath 2015-03-19 21:59:20 -07:00
Hao Kung 0db1f1a42f React to hosting 2015-03-19 21:02:35 -07:00
sornaks 37dc8581de Removing 'Options' from the 'ConfigureRouteOptions' extension method name. 2015-03-16 14:54:36 -07:00
Praburaj fb08460770 Using [NotNull] from common repo package 2015-03-13 17:54:16 -07:00
Praburaj 61e4f55075 Moving the IServiceCollection extension into Microsoft.Framework.DependencyInjection namespace
Fixes: https://github.com/aspnet/Routing/issues/160
2015-03-13 14:55:49 -07:00
N. Taylor Mullen 81c43301d3 Update .kproj => .xproj. 2015-03-11 14:04:11 -07:00
N. Taylor Mullen 2973795a6e Remove BOM from project.json, *.cmd, *.sh and *.shade files. 2015-03-09 12:58:37 -07:00
N. Taylor Mullen da775351e2 Update aspnet50/aspnetcore50 => dnx451/dnxcore50. 2015-03-08 12:55:34 -07:00
David Fowler f46b373acb Depend on interfaces 2015-03-05 03:27:15 -08:00
Brennan 1e6b34a043 Documentation 2015-03-04 20:41:40 -08:00
Brennan 859a0d62b8 Logging API changes 2015-03-04 19:59:23 -08:00
Hao Kung 979b75dda4 React to DI changes 2015-03-04 18:06:42 -08:00
Mugdha Kulkarni 81a17300b2 Issue 140: Support lower case routes 2015-02-20 14:54:25 -08:00
Mugdha Kulkarni f9a9b80681 Fixing the error message. The error message for malformed template was too complex listing all
the errors that can happen in one message. I have separated the message in 2 different messages.
 1. When there is a parameter or a literal following the optional parameter.
 2. when optional parameter is preceded by a literal other than period which is not allowed.
2015-02-16 17:40:04 -08:00
Ryan Nowak 9ee946073a Add support for best-effort link-generation
This change adds a feature needed for aspnet/Mvc#302

There's a new option in routing that allows link-generation to proceed
when the route values cannot be validated. The key scenario for this is
during development of an MVC site. Routing will refuse to generate a link
to actions which don't exists, this is a breaking change from the MVC5
behavior. Setting UseBestEffortLinkGeneration will allow routing to return
a value even when we can't match the action.

This option will remain off by default - setting this to on will impact
link-generation in a bunch of scenarios involving areas where we've
improved the logic for MVC6. If you're considering leaving this on outside
of development scenarios, then make sure to be as explicit with route values
as possible (don't rely on ambient values).

Functional tests to follow up in the MVC repo.
2015-02-11 14:38:30 -08:00
Mugdha Kulkarni 4e5fc2e2dd Fixing Routing Issue: 136
The RegEx inline constraint doesn't take care of Escape characters.
2015-02-10 11:16:30 -08:00
sornaks 67dcdbf8a1 Issue #1669: Adding extension method ConfigureRouteOptions. 2015-02-03 16:18:19 -08:00
Doug Bunting c59366e8a7 Quick cleanup
- `DefaultInlineConstraintResolver` has no need of a `IServiceProvider`

nits:
- add doc comments for changed `DefaultInlineConstraintResolver` ctor
- let VS add a dev server port to sample's .kproj
- add debugSettings.json and .vs/ to .gitignore
2015-01-30 10:02:58 -08:00
Pranav K 29a5cb8aa9 Change the namespace for the MapRoute extension 2015-01-23 16:08:38 -08:00
Mugdha Kulkarni 3626900bc9 Basic URL Extension functionality working.
1. Template parser now allows a parameter to be an optional parameter in a complex segment if
   it is the last and only optional parameter and it is followed by a period.
2. Template matcher modified to take into consideration the optional parameter in the complex
   segment. Also the period shouldn't be present if the optional parameter is not present
2015-01-16 16:25:53 -08:00
Chris Ross 01620d487e Update QueryBuilder dependency. 2015-01-12 10:34:39 -08:00
Yishai Galatzer 1bded288bf Missing setter for default handler on IRouteBuilder
CR in person with pranavkm
2014-12-04 17:33:45 -08:00
Mugdha Kulkarni f549a550a9 Fixing the issue #123.
Added OptionalRouteConstraint class to take care of optional inline parameter. It will create the OptionalRouteConstraint for a inline parameter that is optional with real constraint on the parameter as inner constraint of OptionalRouteConstraint.
2014-12-04 10:54:27 -08:00
Victor Hurdugaci 8b93a0c018 Add schema version to kproj files 2014-11-25 11:01:35 -08:00
Hao Kung 21a6f44c38 GetDefaultServices -> AddRouting with TryAdd 2014-11-24 16:37:10 -08:00
Doug Bunting 9d7f971833 Add xml-docs-test target to end of default build
- #EngineeringDay
- correct couple of XML doc issues in the repo (simplify references)
2014-11-20 10:16:01 -08:00
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