James Newton-King
1680b9f4fc
Change endpoint invoker to RequestDelegate, Endpoint/EndpointMetadataCollection namespaces, split out IRouteValuesFeature ( #712 )
2018-08-22 17:15:57 +12:00
James Newton-King
08a0a7fadb
Remove MatchProcessor, add IParameterPolicy ( #734 )
2018-08-22 15:24:34 +12:00
James Newton-King
4f33362ab5
Minor RVD and EndpointMetadataCollection refactors ( #708 )
2018-08-22 10:30:25 +12:00
James Newton-King
967afc3b0f
Optimize RoutePattern allocations ( #706 )
2018-08-22 10:01:52 +12:00
ASP.NET CI
4a064b2267
Update package branding for 2.2.0-preview2
2018-08-21 13:33:52 -07:00
Kiran Challa
0986f74264
Added benchmarks for link generation
2018-08-17 13:38:17 -07:00
Kiran Challa
731767837a
Introducing new **catchAll parameter to allow generating links with unencoded values
2018-08-16 15:52:09 -07:00
Ryan Nowak
730646c301
Perf for EMC
2018-08-15 22:08:58 -07:00
Ryan Nowak
6724b4d796
Add EMC benchmark
2018-08-15 22:08:58 -07:00
Ryan Nowak
4fa0b068b8
Fix #710 - add support for data tokens
2018-08-15 21:43:50 -07:00
Ryan Nowak
97f54c532b
Support supression of matching for endpoints
2018-08-15 21:36:08 -07:00
Ryan Nowak
085a0b808e
Use RoutePattern in TemplateBinder
2018-08-15 12:12:52 -07:00
Ryan Nowak
e09b88ebd6
Tokenize Less
2018-08-14 15:31:38 -07:00
ASP.NET CI
e2892f82ed
Update dependencies.props
...
[auto-updated: dependencies]
2018-08-12 19:27:56 +00:00
Ryan Nowak
12cb35894e
Add support for GraphViz
...
Adds **internal** support for dumping a route table to GraphViz DOT
notation. This allows us to dump the DFA graph for a route table and
visualize it.
Example:
https://gist.github.com/rynowak/2b24e4a6a602ca6f9c4de3ec227d621b
2018-08-08 21:36:39 -07:00
James Newton-King
dce72c9553
Remove public extension methods for registering endpoint routing ( #697 )
2018-08-07 17:49:31 +12:00
James Newton-King
39c5700148
Add docs to RouteValuesAddress ( #695 )
2018-08-07 13:14:35 +12:00
ASP.NET CI
0aee3f3595
Update dependencies.props
...
[auto-updated: dependencies]
2018-08-06 20:49:29 +00:00
ASP.NET CI
c44f2303e7
Update dependencies.props
...
[auto-updated: dependencies]
2018-08-05 19:25:57 +00:00
Ryan Nowak
e53a9f57db
adding more docs
2018-08-03 18:55:57 -07:00
James Newton-King
5ee3ae9002
Add XML docs to data sources and metadata ( #692 )
2018-08-04 13:34:25 +12:00
Ryan Nowak
27a35d5d9b
fix benchmarks manifest
2018-08-03 16:51:54 -07:00
Kiran Challa
4d706f045f
rebase changes
2018-08-03 12:45:31 -07:00
Kiran Challa
09ce9c3041
Api clean up
2018-08-03 12:37:37 -07:00
James Newton-King
091cb94094
Change metadata namespace
...
Change EndpointOptions visibility to internal
Add IRequiredValuesMetadata
2018-08-03 12:37:37 -07:00
Kiran Challa
c8946a40e4
Created LinkGenerationTemplate and friends
2018-08-03 12:33:34 -07:00
Kiran Challa
b177ba5309
Changed api of LinkGenerator
2018-08-02 16:10:56 -07:00
Ryan Nowak
9cea167cfa
Add docs - EndpointFeature and related types ( #687 )
...
* Add docs - EndpointFeature and related types
* Add docs for route patterns
2018-08-02 15:24:00 -07:00
James Newton-King
8c4f187c22
Endpoint routing rename and API review changes ( #684 )
2018-08-02 13:38:08 +12:00
Kiran Challa
e19b0b738c
PR Feedback
2018-07-31 14:51:55 -07:00
Kiran Challa
85c7bd8fac
Discard ambient values during link generation if the values do not match explicit values
...
[Fixes #544 ] Link generation: Discard ambient values unless routing to the same address
2018-07-31 14:50:04 -07:00
Ryan Nowak
3d4a66ab8d
Merge pull request #674 from aspnet/kichalla/show.more.debuggerdisplaystring
...
Show default values in CompositeEndpointDataSource's debugger display…
2018-07-31 14:47:20 -07:00
Kiran Challa
ef2c127459
Show route name
2018-07-31 14:08:24 -07:00
Kiran Challa
f62877b9db
Show default values in CompositeEndpointDataSource's debugger display string
2018-07-31 12:39:37 -07:00
ASP.NET CI
865d19652c
Update dependencies.props
...
[auto-updated: dependencies]
2018-07-29 12:24:51 -07:00
Ryan Nowak
f8b3b73ca7
Remove EndpointConstraints
...
Adds IEndpointSelectorPolicy so that MVC can plug in to the
EndpointSelector to run action constraints.
2018-07-28 19:03:12 -07:00
James Newton-King
f870503cdd
Fix HttpMethodMetadata debug string ( #666 )
2018-07-28 11:13:30 +12:00
Ryan Nowak
54e5370e8f
Add CORS support to HttpMethodMatcherPolicy
...
Also removes HttpMethodEndpointConstraint, since it's been fully
replaced.
2018-07-26 23:01:11 -07:00
James Newton-King
c68c5befc7
Remove ChangeToken from EndpointDataSource ( #662 )
2018-07-26 11:06:54 +12:00
Kiran Challa
e0294f1d1b
Upgraded dependencies.props
2018-07-25 06:17:54 -07:00
Ryan Nowak
19f24cad16
fix silly constructor
2018-07-24 21:54:24 -07:00
James Newton-King
1340f9c26b
Add EndpointSelectorCandidate ctor to not break MVC ( #661 )
2018-07-25 16:03:26 +12:00
James Newton-King
fdff66054f
Missing ChangeToken -> GetChangeToken updates ( #660 )
2018-07-25 14:35:41 +12:00
Ryan Nowak
147c9527f3
Implement EndpointSelector and MatcherPolicy ( #646 )
...
Implement EndpointSelector and MatcherPolicy
This change makes the EndpointSelector API more concrete, and is the
beggining of removing EndpointConstraint by making it obsolete.
To that end, I'm introducing MatcherPolicy, which is a
feature-collection API for registering policies that interact with the
DfaMatcher. The two policies that we'll need to start are:
- ability to order endpoints
- ability to append 'policy' nodes to the graph
These two concepts together replace EndpointConstraint. Extending our
graph representation is a really efficient way to processing most common
scenarios.
---
In general this helps with common cases where 4 or so endpoints match
the URL, but with different HTTP methods supported on each. Today we
have to process route values and call into some 'policy' to make a
decision about which one is the winner. This change pushes this
knowledge down into the graph so that it's roughly as cheap as a
dictionary lookup, and can be done allocation-free.
The big savings here is ability to remove more candidates *before*
collecting route data.
---
Along with this change, I also built 'rejection' into the DFA node
model, you can see an example with the HTTP Method handling that I
implemented. I implemented a policy that can treat failure to resolve an
HTTP method as a 405 response by returning a failure endpoint. This is
at the heart of much of the feedback we've gotten in this area around
versioning and http method handling. We also have a version of this
feature in MVC for [Consumes].
2018-07-24 17:31:51 -07:00
Kiran Challa
f37ca0d2e9
Show list of endpoints in CompositeEndpointDataSource's DebuggerDisplayString
...
[Fixes #633 ] Show list of registered endpoints as debugger display string
2018-07-24 17:22:43 -07:00
Kiran Challa
6f4c10a664
PR feedback
2018-07-24 17:17:08 -07:00
Kiran Challa
71cb933a08
Show a flattened tree in LinkGenerationDecisionTree's DebuggerDisplayString
...
[Fixes #636 ] Flatten the LinkGenerationDecisionTree to show as debugger display string
2018-07-24 17:11:53 -07:00
Kiran Challa
34499dbe24
Added support for suppressing link generation for endpoints
2018-07-24 16:47:34 -07:00
Nate McMaster
deddb336b7
Merge branch 'release/2.1' into release/2.2
2018-07-24 11:47:18 -07:00
Eilon Lipton
d255d1510f
Update CONTRIBUTING.md
2018-07-24 10:55:29 -07:00