Jass Bagga
57697baedb
Tolerate leading "~/" or "/" ( #509 )
2018-01-11 13:00:01 -08:00
Jass Bagga
93d20ec78c
Revert Dispatcher changes ( #508 )
...
Addresses aspnet/Home#2741
2018-01-10 12:53:17 -08:00
Jass Bagga
8502900c18
Add Dispatcher packages descriptions ( #507 )
...
Addresses aspnet/Home#2656
2018-01-04 11:02:05 -08:00
Jass Bagga
c66d5240d1
Recreate cache of endpoints when data source updated ( #503 )
...
Addresses #454
2018-01-03 14:33:16 -08:00
Jass Bagga
54e96bd404
Tolerate leading "~/" or "/" ( #499 )
...
Addresses #441
2017-11-21 14:20:17 -08:00
Jass Bagga
1b0258ab8f
Move AddEntryToTree to shared source ( #496 )
...
Addresses #495
2017-11-20 14:18:50 -08:00
Jass Bagga
e2bcefc3d0
Move TreeEnumerator to shared source ( #494 )
2017-11-15 11:17:59 -08:00
Jass Bagga
7f8ba171f4
Move UrlMatchingTree to shared source ( #492 )
...
Addresses #489
2017-11-13 11:40:26 -08:00
Nate McMaster
6c8af17e3a
Add placeholder package descriptions to fix NuGetPackageVerifier errors ( #490 )
...
Merged to unblock CI. cref #491 to update the packages with tags and real package descriptions
2017-11-08 09:43:55 -08:00
Jass Bagga
fd83b300b8
Port TreeMatcher ( #488 )
...
Addresses #472
2017-11-07 10:51:50 -08:00
Jass Bagga
3fadca6a1b
Add IConstraintFactory ( #487 )
...
Addresses part of #472
2017-11-02 10:57:37 -07:00
Nate McMaster
f4fb178f55
Pin tool and package versions to make builds more repeatable
...
Part of aspnet/Universe#575
2017-11-01 16:32:09 -07:00
Ryan Nowak
bb413c6ac3
Rename a bunch of old stuff
2017-10-26 12:35:58 -07:00
Ryan Nowak
81ddda7b96
Add MetadataCollection
2017-10-26 12:35:58 -07:00
Ryan Nowak
812fa9599a
Reorganize some folders
2017-10-26 12:35:58 -07:00
Ryan Nowak
ddcc409353
Move some files in/out of abstractions
2017-10-26 12:35:58 -07:00
Ryan Nowak
d612072d1a
Fix a broken MVC test
2017-10-25 23:29:35 -07:00
Ryan Nowak
736b49294d
Add Template abstraction
...
This change adds the Template as a top level abstraction. URL templating
is now a two-stage process.
First you use a 'key' to look up a Template, then you use the Template
to create the URL.
This change also has some cleanup of the way RoutePatternBinder gets
instantiated. I added a factory service so that most of the complex
things can be made internal to Dispatcher. Now it's much easier to
constuct and use. These impacts some pubternal APIs that we already
broke, but makes them actually nice :)
Also cleaned up some tests and fixed one that was broken and not
running.
2017-10-25 22:15:24 -07:00
Ryan Nowak
2d661396df
Port TemplateBinder to dispatcher
2017-10-25 14:28:20 -07:00
Jass Bagga
eebc7db2ca
Use RoutePatternMatcher logic in TemplateMatcher ( #484 )
2017-10-25 14:16:04 -07:00
Jass Bagga
485278bf0d
Add RoutePatternMatcher to Dispatcher ( #482 )
2017-10-23 11:20:23 -07:00
Ryan Nowak
bd517f891f
Support conversions from RouteTemplate -> RoutePattern
2017-10-20 16:58:14 -07:00
Ryan Nowak
df78db934d
Port IRouteConstraint to the dispatcher project
2017-10-20 14:04:22 -07:00
Jass Bagga
fdc5f21428
Port PathTokenizer ( #478 )
2017-10-20 13:24:00 -07:00
Ryan Nowak
08a64048da
Redesign public API for templates
...
-Renamed RouteTemplate -> RoutePattern
-Made immutable
-Added Builder
-Lots of fixes to parser to support new design
There are a few small issues logged for follow-up but this is mostly in
the place I want it design-wise.
2017-10-19 09:41:45 -07:00
George Chakhidze
a3c1b6d033
Avoid allocation of a new char array on every request in RouteCollection class
...
This is a very small micro-optimization: When LowercaseUrls and/or AppendTrailingSlash
options are enabled, on every call to RouteCollection.NormalizeVirtualPath a new
char[] { '?', '#' } is being allocated.
2017-10-17 17:45:15 -07:00
Jass Bagga
3a5cd6dd25
Port TemplateParser to Dispatcher project ( #473 )
...
Addresses #466
2017-10-17 11:52:26 -07:00
Ryan Nowak
927f8ed3d2
Add empty baselines for dispatcher
...
These packages didn't exist in 2.0 so there's no compat bar.
2017-10-17 10:46:03 -07:00
Jass Bagga
bdbe922b22
Add logging ( #467 )
...
Addresses #439
2017-10-12 14:23:01 -07:00
Ryan Nowak
56ae2e0177
Respond to feedback about handler factory
...
- Handler factories are now associated with the dispatcher entry
- Handler factory is now an interface
2017-10-06 10:11:05 -07:00
Ryan Nowak
63d2cc4637
Changes due to davidfowl feedback
...
Changed dispatchers to IMatcher, added a context.
Removed a bunch of outdated cruft and updated the sample to use
attribute-routing like entries.
2017-10-05 18:31:23 -07:00
Jass Bagga
2f8951e244
Productize HttpMethodEndpointSelector ( #463 )
...
Addresses #452
2017-10-05 15:14:17 -07:00
Jass Bagga
f49cbd1b25
Selectors initialization and DispatcherBase logging ( #451 )
2017-09-29 17:50:45 -07:00
Ryan Nowak
abb41302e9
Add a dispatcher by default ( #462 )
...
This change adds the TreeDispatcher by default to the pipeline. You can
register DispatcherDataSource instances to configure it.
2017-09-29 16:06:38 -07:00
Ryan Nowak
bd750ad76d
Making endpoints and addresses easier
...
This makes endpoints and addresses easier to work with by dropping the
'metadata first' approach for the the things that are really at the core
of the dispatcher.
2017-09-28 22:07:32 -07:00
Ryan Nowak
5fed462123
Add tree dispatcher
2017-09-27 14:34:09 -07:00
Ryan Nowak
eeebefee1b
Add data source
2017-09-26 10:17:48 -07:00
Ryan Nowak
7685e17e80
Add Addresses and link generation
2017-09-24 23:16:34 -07:00
Javier Calvarro Nelson
475712d613
Update API Check baselines
2017-09-22 14:16:39 -07:00
Ryan Nowak
41f26dc69d
Add endpoint disambiguation
...
- Better sample of metadata
- Sample shows how conventional routing would work
- Added endpoint disambiguation
2017-09-22 10:54:20 -07:00
Ryan Nowak
d652b86852
Split RVD in twain
2017-09-21 09:19:10 -07:00
Ryan Nowak
134096d9cb
Relayer implementation
...
This refactor introduces two major changes
1. Now creating the 'handler' delegate happens inside the endpoint
middleware. This allows you to short circuit even harder, AND to create
endpoint funcs that capture and use 'next' to rejoin the middleware
pipeline.
2. Relayered the implementation to have routing plug into the dispatcher.
It wasn't immediately apparent to me that this was the right thing to do,
but I think we will need to do things this way to deliver the kind of
back-compat experience we need to do.
The idea that I have is that 'attribute routing' will be the 'default'
entry in the dispatcher. Adding additional conventional routes or other
IRouter-based extensibility will be possible through adapters - but the
default experience will be to add items to the 'attribute route'.
So. We will need to port the attribute routing infrastructure to the
dispatcher library.
We may also need to make RVD into a subclass of something in the
dispatcher assembly.
2017-09-17 18:29:22 -07:00
Jass Bagga
b01072eb47
Use RouteTemplate and TemplateMatcher ( #443 )
...
Addresses #438
2017-09-14 15:24:40 -07:00
Jass Bagga
a9b47f6722
Startup experience ( #442 )
...
Addresses #437 and #440
2017-09-11 15:10:33 -07:00
Jass Bagga
ebd0baa458
Add dispatcher packages
2017-08-31 11:54:27 -07:00
Nate McMaster
e67d85d30c
Use PackageLineup to manage PackageReference versions
2017-08-29 11:31:54 -07:00
Nate McMaster
44f9a7083b
Use Directory.Build.props/targets
2017-08-29 11:30:03 -07:00
Pranav K
a23f1601fd
Remove usage of TaskCache
2017-06-08 09:06:41 -07:00
Ryan Nowak
d39305aa91
Improve formatting
2017-05-24 08:36:24 -07:00
Ryan Nowak
1165a1de33
Updates to generated resource files
2017-05-24 08:32:15 -07:00
Joonas Westlin
9a6cb89b8d
Adjusted example error message to reflect the situation that causes the error.
2017-05-24 08:23:20 -07:00
Joonas Westlin
a18f59ab88
Changed expected exception message to the one defined in Resources.resx.
...
Removed the Debug.Assert as that caused the test runner to crash as in
this case the preceding part is not a literal.
Fixes the test runner crash.
2017-05-24 08:23:20 -07:00
Ryan Brandenburg
efb097ce60
Target .NET Standard 2.0 and add net461 testing
2017-05-23 14:38:36 -07:00
John Luo
1f3b20e177
Migration
2017-05-05 17:54:49 -07:00
Pranav K
ce021a888e
Change TFM to netcoreapp2.0
2017-05-05 09:49:42 -07:00
Ryan Nowak
232b73a151
Fix aspnet/Mvc#6218
...
This fixes the case described in the comments in TemplateBinder.
This case is much more common for pages which is why we're only seeing it
now. We've had this issue for all of 1.0.0 in both conventional and
attribute routing.
2017-04-28 17:00:35 -07:00
Smit Patel
0aebdb4110
Update API Check related files
...
React to aspnet/BuildTools#238
2017-04-25 08:19:04 -07:00
Steve Sanderson
8c58086030
Make TreeRouter restore RouteData snapshots consistently. Fixes #394 .
2017-04-11 15:36:34 +01:00
Pranav K
1ef45e64b8
Update to net46
2017-03-22 18:26:48 -07:00
Nate McMaster
101764328b
Consolidate dependency versions to one file and remove workarounds
2017-03-15 17:01:10 -07:00
Pranav K
0f4ce625ed
Update to VS 2017 RC3
2017-01-27 11:04:42 -08:00
Kiran Challa
755d436840
Fixed error message related to escaping curly braces.
2017-01-03 14:33:36 -08:00
Kiran Challa
071b616178
Merge branch 'rel/1.1.1' into dev
...
# Conflicts:
# NuGet.config
# samples/RoutingSample.Web/project.json
# src/Microsoft.AspNetCore.Routing.Abstractions/project.json
# src/Microsoft.AspNetCore.Routing.DecisionTree.Sources/project.json
# src/Microsoft.AspNetCore.Routing/project.json
# test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/project.json
# test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/project.json
# test/Microsoft.AspNetCore.Routing.FunctionalTests/project.json
# test/Microsoft.AspNetCore.Routing.Tests/project.json
2017-01-03 13:33:26 -08:00
Kiran Challa
4bfd663c45
[ Fixes #370 ] Raw route values should be restored after template binder failing binding values when generating a url
...
- Reverted changes made in commit: 1c9a54aeb8
2017-01-03 13:23:36 -08:00
Pranav K
ce525150ab
Updating to 4.4 CoreFx packages
2016-12-21 22:55:19 -08:00
Ajay Bhargav Baaskaran
c5b7a3f710
Fixed a policheck violation
2016-12-21 11:05:09 -08:00
Kiran Challa
20967cfa76
[ Fixes #367 ] Add extensions on WebHostBuilder for super simple HTTP service application building
2016-12-21 10:04:02 -08:00
Nate McMaster
45247e4d9c
Update Microsoft.AspNetCore.Routing.DecisionTree.Sources to use contentFiles
2016-12-15 17:54:10 -08:00
Pranav K
a457be5386
Pinning missed tools and dependencies
2016-11-18 12:42:03 -08:00
Pranav K
3db35194c9
Pinning versions for 1.1.0 release
2016-11-18 12:13:32 -08:00
Pranav K
d3c145cbe8
Updating versions to 1.2.0-*
2016-11-09 14:19:24 -08:00
jacalvar
54dfea2633
Created public API baselines
2016-11-07 10:55:04 -08:00
Pranav K
67d0c13815
Updating partner package versions
2016-10-03 20:00:38 -07:00
jacalvar
74a3063c45
[ Fixes #357 ] Fix behavior when optional parameters are defined within a route and not at the end
2016-10-03 19:31:17 -07:00
jacalvar
438ec83227
[ Fixes #359 ] Routing is matching empty segments to parameters and defaults are wrong
2016-10-03 15:34:04 -07:00
Pavel Krymets
032bcf43b2
Use TaskCache class from Microsoft.Extensions.TaskCache.Sources ( #361 )
...
Instead of Task.FromResult(0)
2016-09-08 09:25:44 -07:00
Kiran Challa
56b3fb9b6f
[ Fixes #351 ] Error message incorrectly references RouteCollection when you don't set the default handler on RouteBuilder
2016-08-30 11:16:35 -07:00
Kiran Challa
714c3d6659
[ Fixes #4991 ] Misleading MissingMethodException message for incorrect routes
2016-08-10 12:09:28 -07:00
Ivano Scifoni
88de3d5070
StringRouteConstraint implementation
2016-08-04 10:39:53 -07:00
Ajay Bhargav Baaskaran
dde24fbba0
Optimize ListStorage in RouteValueDictionary
2016-07-18 17:31:50 -07:00
mnltejaswini
6801715daf
Add support for IEnumerable<KeyValuePair<string, string>> in RouteValueDictionary Fixes #329 ( #335 )
2016-07-18 12:12:34 -07:00
Doug Bunting
1bcd01338a
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 12:31:06 -07:00
jacalvar
90dc4bc207
[ Fixes #324 ] Default parameters are not taken into account on attribute routing
2016-07-01 16:06:03 -07:00
Ryan Nowak
0978a7dd16
Add some tests, rename misnamed file
2016-07-01 09:29:02 -07:00
Muchiachio
4adc693cb5
Add an UseRouter that takes Action<IRouteBuilder>
...
- Added an overload of UseRouter that takes Action<IRouteBuilder>, to
make configuring standalone routing much less verbose.
Addresses #332
2016-07-01 08:50:29 -07:00
Muchiachio
322e1f5d9c
Make routing feature class public
...
- Made routing feature class public, to lower boilerplate code in client
code tests.
Addresses #333
2016-06-30 08:58:33 +03:00
Pranav K
2c264efd42
Updating to dev versions
2016-06-16 10:18:32 -07:00
jacalvar
dd79d0b88c
[ Fixes #316 ] TreeRouter does not match a route with the correct length
2016-06-03 12:55:20 -07:00
John Luo
3222785d3f
React to updated CoreCLR packages
...
https://github.com/aspnet/Coherence/issues/97
2016-05-26 18:32:53 -07:00
Pranav K
1956be42f6
Revert "aspnet/Coherence#97 - React to updated CoreClr packages"
...
This reverts commit 1d21cecd8d .
2016-05-18 09:44:36 -07:00
Ajay Bhargav Baaskaran
1d21cecd8d
aspnet/Coherence#97 - React to updated CoreClr packages
2016-05-17 12:47:17 -07:00
Ryan Nowak
86a41bc618
Optimize manipulation of RouteData.Routers
...
This change avoid calling List.Clear() and new List(IEnumerable<T>) which
both end up calling into native methods via the Array static class. These
methods are designed to be performant for large collections, and for our
needs this collection has at most 1-4 items. This is worth 2-3% in
techempower plaintext.
2016-05-11 11:20:10 -07:00
Pranav K
74a246d34c
Merge branch 'release' into dev
2016-05-02 15:21:04 -07:00
Pranav K
0ce851680b
Fix build warnings
2016-05-02 11:27:25 -07:00
Ryan Nowak
96b7678c8f
RVD crazy
2016-04-22 14:06:49 -07:00
Ryan Nowak
e8ce0e7523
TreeRouter cleanup
2016-04-20 18:12:10 -07:00
Ryan Nowak
9cd3fe34a5
Improve tests for catch-all + defaults/nulls
2016-04-11 15:17:07 -07:00
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