Kiran Challa
42708bec91
Added support for route constraints in Dispatcher world
2018-07-13 14:18:54 -07:00
Kiran Challa
1c7f53ae39
Fix TemplateBinder to consider null and empty string values the same
2018-07-13 10:21:55 -07:00
Ryan Nowak
7209cab5e9
Productize JumpTable ( #594 )
...
* Productize JumpTable
2018-07-12 23:28:51 -07:00
James Newton-King
0cf972cc43
Error message on no dispatcher middleware in endpoint middleware ( #600 )
2018-07-13 10:16:21 +12:00
Kiran Challa
3a022107dc
Revert "Added support for route constraints in Dispatcher world"
...
This reverts commit 85e92ab3cc .
2018-07-12 06:24:37 -07:00
Nate McMaster
85e92ab3cc
Added support for route constraints in Dispatcher world
2018-07-12 05:06:22 -07:00
Kiran Challa
1009705283
Added a RouteValuesBasedEndpointFinder
2018-06-28 10:53:10 -07:00
Ryan Nowak
30fcfb65ea
Productionize Path tokenization
2018-06-21 17:13:03 -07:00
James Newton-King
6efd679ce3
Fix TreeMatcher with route constraints ( #576 )
2018-06-22 10:33:44 +12:00
Kiran Challa
d3ddc1709a
Added initial support for link generation when using Dispatcher
2018-06-14 15:31:30 -07:00
Ryan Brandenburg
7423bb8702
Set 2.1 baselines
2018-06-14 14:10:02 -07:00
James Newton-King
9efa7665c9
Fix endpoint constraint cache ( #555 )
2018-06-13 16:40:06 +12:00
James Newton-King
6a6bd3f0da
Refactor TreeMatcher to not use async ( #552 )
2018-06-13 08:48:27 +12:00
James Newton-King
28d1bc4fa2
Fix TreeMatcher's use of EndpointSelector ( #551 )
2018-06-12 15:47:34 +12:00
James Newton-King
84bc8351c9
Initial endpoint constraints functionality ( #548 )
2018-06-12 09:43:17 +12:00
Ryan Nowak
08f12f2bfd
Add sample matcher tests
2018-06-09 13:29:06 -07:00
James Newton-King
1b470f3d3b
Fix Endpoint order in TreeMatcher ( #542 )
2018-06-08 16:19:56 +12:00
James Newton-King
48dd7a9688
Fix log order ( #540 )
2018-06-08 08:57:24 +12:00
James Newton-King
21f8ce5e95
Initial DispatcherMiddleware tests ( #529 )
2018-06-07 21:47:06 +12:00
Ryan Nowak
49f839a286
Add benchmarks for matcher implementations
2018-06-06 21:50:07 -07:00
Ryan Nowak
dc4be30d88
Rename Treenumerator -> TreeEnumerator
2018-06-01 21:33:30 -07:00
James Newton-King
81dde1a9f1
PR feedback
2018-06-01 21:33:30 -07:00
Ryan Nowak
0ea16ddd57
Code dump of dispatcher prototype code
...
Here's a code dump of the parts of the Dispatcher prototype codebase
that are needed to get us off the ground.
This first cut attempts to use part of routing where possible, and not
all of those changes will be long-lasting.
I'll leave comments through thoughout the PR for education.
2018-06-01 21:33:30 -07:00
kishan.anem
acea87a617
IUrlHelper and support for RouteOptions.LowercaseUrls
...
changes are made as suggestions.
@rynowak
#518
#Issue: aspnet/Mvc#7720
2018-05-31 20:07:01 -07:00
kishan.anem
cb77c17cf4
TestCase added and IUrlHelper and support for RouteOptions.LowercaseUrls
...
checked appliesd to the query string.
@rynowak
#518
#Issue: aspnet/Mvc#7720
2018-05-31 20:07:01 -07:00
kishan.anem
f227cbeca3
Added sperate option "IUrlHelper and support for RouteOptions.LowercaseUrls "
...
@rynowak
#518
#Issue: https://github.com/aspnet/Mvc/issues/7720
2018-05-31 20:07:01 -07:00
kishan.anem
695fb00308
IUrlHelper and support for RouteOptions.LowercaseUrls
...
IUrlHelper and support for RouteOptions.LowercaseUrls
#issue : https://github.com/aspnet/Mvc/issues/7720
2018-05-31 20:07:01 -07:00
Ryan Brandenburg
c8d842c160
Merge remote-tracking branch 'origin/release/2.1' into rybrande/MergeRelease21IntoDev
2018-04-16 15:05:29 -07:00
Kiran Challa
4184b2406d
Updated to make routing always use UrlEncoder.Default and not depend on DI to get it.
...
[Fixes #513 ] RedirectToAction with Non-English Characters in Parameters and Authentication Causes Error
2018-04-12 05:15:45 -07:00
Ryan Brandenburg
dc07aba935
Set 2.0 baselines
2018-03-19 09:27:10 -07:00
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
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
Jass Bagga
fd83b300b8
Port TreeMatcher ( #488 )
...
Addresses #472
2017-11-07 10:51:50 -08: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
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
Ryan Nowak
bd517f891f
Support conversions from RouteTemplate -> RoutePattern
2017-10-20 16:58:14 -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
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
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
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
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
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
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