Commit Graph

748 Commits

Author SHA1 Message Date
Ryan Nowak f079d41257
Merge branch 'master' into merge/release/2.2-to-master 2018-07-16 21:24:08 -07:00
Ryan Nowak 02e1d78319 Minor fixes for MatchProcessorFactory
Fixing minor issues found doing DFA integration.
2018-07-16 21:06:35 -07:00
Ryan Nowak 5f29e8b062 Hoist path out of loop in BarebonesMatcher
This is an oopsie from a previous change.
2018-07-16 20:43:31 -07:00
ASP.NET CI ad3497dfb9 Update dependencies.props
[auto-updated: dependencies]
2018-07-15 20:10:49 +00:00
ASP.NET CI 0cd41c5544 Update dependencies.props
[auto-updated: dependencies]
2018-07-15 12:26:23 -07:00
Ryan Nowak 4334feacb0
Merge pull request #615 from dotnet-maestro-bot/merge/release/2.2-to-master
[automated] Merge branch 'release/2.2' => 'master'
2018-07-14 17:28:48 -07:00
Ryan Nowak b2e4743c7d
Change benchmarks (#612)
Add benchmarks that include some HTTP method matching.

Clean up names and name like-kinded benchmarks alphabetically.

Matcher*Benchmark -> E2E including HTTP method selection
MatcherSelectCandidates*Benchmark -> Focused on just URL path processing
2018-07-14 17:21:05 -07:00
James Newton-King 497a38035d
Add application startup check that dispatcher is added to request pipeline (#614) 2018-07-15 11:50:55 +12:00
James Newton-King 1f12c894eb
Merge branch 'merge/release/2.2-to-master' 2018-07-14 18:54:38 +12:00
James Newton-King 73e4d55d7b
Check dispatcher services registered (#610) 2018-07-14 18:20:42 +12:00
Ryan Nowak 3f42a7ce2f
Merge pull request #611 from dotnet-maestro-bot/merge/release/2.2-to-master
[automated] Merge branch 'release/2.2' => 'master'
2018-07-13 22:07:58 -07:00
Ryan Nowak 5e1f99faaf
Merge pull request #597 from aspnet/rynowak/jumptable2
Add experimental JumpTables to benchmarks
2018-07-13 20:51:49 -07:00
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 650178b09d
Merge pull request #609 from aspnet/release/2.2
Introduce RoutePattern (#585)
2018-07-13 18:10:19 -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 d38289c732 Merge branch 'merge/release/2.2-to-master' 2018-07-13 15:04:04 -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 bbf1b8ff85 Merge branch 'merge/release/2.2-to-master' 2018-07-13 10:58:23 -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 f396a5a73e
Merge pull request #604 from dotnet-maestro-bot/merge/release/2.2-to-master
[automated] Merge branch 'release/2.2' => 'master'
2018-07-13 07:59:33 -07:00
Ryan Nowak 7209cab5e9
Productize JumpTable (#594)
* Productize JumpTable
2018-07-12 23:28:51 -07:00
James Newton-King 671ecd03b4
Merge branch 'merge/release/2.2-to-master' 2018-07-13 12:19:30 +12: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 3e1b336d6d
Merge pull request #596 from dotnet-maestro-bot/merge/release/2.2-to-master
[automated] Merge branch 'release/2.2' => 'master'
2018-07-12 00:26:44 -07:00
Ryan Nowak 576c14a1b5 Remove InstructionMatcher 2018-07-11 23:47:57 -07:00
Ryan Nowak 0c3a756956
Merge pull request #593 from dotnet-maestro-bot/merge/release/2.2-to-master
[automated] Merge branch 'release/2.2' => 'master'
2018-07-11 23:09:24 -07:00
Ryan Nowak c19bbcb851
Merge branch 'master' into merge/release/2.2-to-master 2018-07-11 22:49:38 -07:00
Ryan Nowak 7aba48ca27 Add support for httpmethods in swaggatherer 2018-07-11 21:44:55 -07:00
ASP.NET CI d339b2b256 Update dependencies.props
[auto-updated: dependencies]
2018-07-08 20:08:28 +00:00
ASP.NET CI 2d53d398b2 Update dependencies.props
[auto-updated: dependencies]
2018-07-08 12:27:10 -07:00
ASP.NET CI 11ff2b27de Update dependencies.props
[auto-updated: dependencies]
2018-07-03 16:26:18 +00:00
Nate McMaster (automated) 57ff9d0b48
[automated] Change default branch to master 2018-07-02 12:40:34 -07:00
Nate McMaster fa47f6b92a
Merge branch 'release/2.2' into dev 2018-06-28 16:53:50 -07:00
Nate McMaster 30eb12251a
Bumping version from 2.2.0 to 3.0.0 2018-06-28 16:48:57 -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