Граф коммитов

723 Коммитов

Автор SHA1 Сообщение Дата
Ryan Nowak ef6f326188 Add experimental JumpTables
Also reduced the count of entries of the max iteration to 25. The main
issue that we're trying to solve right now is which approach is the best
with a small number of entries. Going up to 100 takes a loooong time,
and all of the dictionary-based approaches scale well above 10 or so
entries.
2018-07-13 20:42:58 -07:00
Ryan Nowak 9e114b547d
Introduce RoutePattern (#585)
* Introduce RoutePattern

Introduces RoutePattern - a new parser and representation for routing
templates, defaults, and constraints.

This is a new representation for all of the 'inputs' to routing that is
immutable and captures 'out of line' information for defaults and
constraints.

This will allow us to unify the handling of constraints and values from
attribute style routes and conventional style routes.
2018-07-13 18:01:46 -07:00
Kiran Challa bc79a47959 Temporary change to prevent cross repo breaking change: Added ooverload for MatcherEndpoint 2018-07-13 14:24:11 -07:00
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
Ryan Nowak 576c14a1b5 Remove InstructionMatcher 2018-07-11 23:47:57 -07:00
Ryan Nowak 7aba48ca27 Add support for httpmethods in swaggatherer 2018-07-11 21:44:55 -07:00
ASP.NET CI 2d53d398b2 Update dependencies.props
[auto-updated: dependencies]
2018-07-08 12:27:10 -07:00
Nate McMaster 0a44dcf4e3
Update infrastructure for the 2.2 release 2018-06-28 16:21:36 -07:00
Kiran Challa 1009705283 Added a RouteValuesBasedEndpointFinder 2018-06-28 10:53:10 -07:00
Ryan Nowak bc5f02444b
Benchmarks and improvements to route value dictionary (#577)
* Add benchmarks for RVD

There are the scenarios that are critical for URL matching performance.

* Reimplement RouteValueDictionary

Improves the scenarios with benchmarks by about 30%

* Fix benchmark

* PR feedback

* More feedback and tests
2018-06-26 13:41:49 -07:00
Eilon Lipton 60ad99037e
Delete ISSUE_TEMPLATE.md 2018-06-26 09:00:47 -07:00
ASP.NET CI 25292fb473 Update dependencies.props
[auto-updated: dependencies]
2018-06-25 11:28:05 -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
Ryan Nowak db95a8c624 Add more matcher tests
This is a code dump of existing tests for TemplateMatcher and TreeRouter
converted to the format of matcher conformance tests.

Note that most of the new tests aren't yet supported by our experimental
matchers, which don't support many of these advanced features.
2018-06-20 10:39:53 -07:00
Ryan Nowak 5b8db03a57 Fixing up a few small issues
The instruction matcher was missing a few details, which made it faster
than it should have been. Right now I'm trying to keep the design of
these in sync. Once I fixed that it exposed a legitimate bug that was
blocking the github benchmark.
2018-06-15 18:04:43 -07:00
Ryan Nowak 00e99dbbb2 Flesh out experimental matchers
This change improves this area a bit by consolidating the matcher
implementations between the benchmarks project and the conformance
tests.

Additionally I split the minimal matcher into a really trivial
implementation for the simple tests and a more complex one for the
larger tests. This allows us to keep the plaintext/techempower scenario
in sight while also having a good baseline for the more sophisticated
tests.

Also starting to add tests that verify that matchers behave as expected.

The matchers now successfully execute all of these benchmarks, which
means that they support literals and parameters.

Missing features:
- complex segments
- catchall
- default values
- optional parameters
- constraints
- complex segments with file extensions

This is a good place to iterate a bit more of perf and try to make a
decision about what we want to implement.
2018-06-15 15:43:50 -07: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
Ryan Brandenburg cc9a50e6d4 Adding VSTS file 2018-06-07 16:58:31 -07:00
James Newton-King 48dd7a9688
Fix log order (#540) 2018-06-08 08:57:24 +12:00
ASP.NET CI 33aa56abe5 Update dependencies.props
[auto-updated: dependencies]
2018-06-07 19:46:28 +00:00
James Newton-King 21f8ce5e95
Initial DispatcherMiddleware tests (#529) 2018-06-07 21:47:06 +12:00
Ryan Nowak edf26be1bf move feature around 2018-06-06 21:50:07 -07:00
Ryan Nowak 72941a8f35 Remove old cruft
Our new benchmarks are already much better than this one.
2018-06-06 21:50:07 -07:00
Ryan Nowak 49f839a286 Add benchmarks for matcher implementations 2018-06-06 21:50:07 -07:00
Ryan Nowak aef5dc4e93 Add Swaggatherer (Swagger + Gatherer)
This is a new CLI tool that will generate a routing benchmark from an
input directory or file.

See following commits for examples
2018-06-06 21:50:07 -07:00
James Newton-King b27f032b43
Fix EndpointMetadataCollection filename (#528) 2018-06-07 09:15:50 +12:00
Nate McMaster 1fc5947ff7
Add certificate names for code signing 2018-06-05 22:34:46 -07:00
ASP.NET CI df857a0369 Update dependencies.props
[auto-updated: dependencies]
2018-06-03 19:27:14 +00:00
Kiran Challa 2fed6710a9 Added benchmark and test for dispatcher 2018-06-01 22:17:48 -07:00
Ryan Nowak dc4be30d88 Rename Treenumerator -> TreeEnumerator 2018-06-01 21:33:30 -07:00
Kiran Challa 8906d8e5f7 Added functional tests for Dispatcher sample 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