Commit Graph

178 Commits

Author SHA1 Message Date
Ryan Nowak ce9ace84fd
Merge pull request #839 from aspnet/rynowak/fix-837
Fix Routing#837
2018-10-05 22:26:27 -07:00
Ryan Nowak 81fb93a896 Fix Routing#837
Fixes a few issues with how we initialize the middleare.
- Always completes the intitialization task
- Avoids capturing the ExecutionContext
- Allows initialization to occur repeatedly when it fails
2018-10-05 21:24:57 -07:00
Ryan Nowak 9db2833fc2 Make endpoint selector policies per-candidate-set
This allows us to filter `IEndpointSelectorPolicy` instance based on
whether the apply to a given candidate set. This should allow us to
remove some HAXXX from MVC.

The idea here is the ESP becomes much more pay-for-play if you can
statically eliminate many of the cases where it would usually no op.
2018-10-05 21:03:59 -07:00
Ryan Nowak 3227de8c0b Fix #629 - Add logging to DfaMatcther
Adds logging for the most common things that can prevent an endpoint
from matching.

Note that we already have good logging in other parts of the system, the
stuff here completes the story by providing details at the debug level.
2018-09-30 15:59:25 -07:00
Ryan Nowak b7939328b8 feedback 2018-09-30 14:09:59 -07:00
Ryan Nowak ed15bad5fb Make CandidateState (publicly) immutable 2018-09-30 14:09:59 -07:00
Ryan Nowak 1f5eec1d55 Rename EndpointFeature -> EndpointSelectorContext 2018-09-30 14:09:59 -07:00
Ryan Nowak 8b99832eaf Add ASCII optimized jump tables 2018-09-29 12:55:10 -07:00
James Newton-King d1f3b90a0e
RouteValuesAddressMetadata ctors and XML docs (#818) 2018-09-30 08:54:59 +13:00
Ryan Nowak 49c2317c14 Fix #810 2018-09-24 21:55:56 -07:00
Ryan Nowak 7c16c92317 Fix a bug in GetUriByRouteValues
Pride cometh before the fall...
2018-09-24 20:46:20 -07:00
Ryan Nowak b642db5a47 Revised LinkGenerator 2018-09-22 15:47:50 -07:00
James Newton-King c559498632
Make parameter transformer test verifiable (#804) 2018-09-20 12:41:29 -07:00
Ryan Nowak a657c3bdf2 Updates to Parameter Transformer
- Rename -> IOutboundParameterTransformer
- Make it operate on object
- Implementing caching for constraints/tranformers for link generation
(cached as part of TemplateBinder)
2018-09-20 10:15:42 -07:00
James Newton-King 85fa15419d
Fix merge (#796) 2018-09-15 08:17:53 +12:00
James Newton-King 412944e1f5
Transform parameters before lower casing in link generation (#793) 2018-09-14 17:19:43 +12:00
Ryan Nowak 426a48a65a Performance improvments to LinkGenerator and TemplateBinder 2018-09-13 19:11:28 -07:00
James Newton-King cee960f3c5
Add IParameterTransformer (#750) 2018-09-12 21:45:25 +12:00
Ryan Nowak 5f172efa9d Add support Endpoint Name endpoint finding 2018-09-10 16:50:46 -07:00
Ryan Nowak 57cc8aea96 Various improvments to route values link APIs
- Add docs
- Add support for templates
- Remove undesirable constructor parameter
- misc cleanup
2018-09-10 16:50:46 -07:00
Ryan Nowak 489a179c41 Add a test for Routing#435
This was already fixes as part of the LinkGenerator redesign. Adding a
test so we can mark it as complete.
2018-09-06 16:57:43 -07:00
Ryan Nowak e3b704095b
Revisions to LinkGenerator (#770)
* Revisions to LinkGenerator

* PR feedback
2018-09-05 20:52:09 -07:00
Ikebe Shodai 950d2e9b74 Fix locale sensitive unit tests 2018-09-05 20:13:25 -07:00
James Newton-King 0f5d471dfd
Create collections on DfaNode as needed (#779) 2018-09-06 12:58:57 +12:00
Ryan Nowak 945e798ca7 [Design] Set the endpoint feature only on success 2018-08-30 14:52:35 -07:00
Ryan Nowak 8395ad8340 remove references to ref emit packages 2018-08-30 13:26:22 -07:00
James Newton-King 74bfff149e
Use var in for loops (#758) 2018-08-31 08:24:41 +12:00
Ryan Nowak 8d053853bb Address PR feedback, I hit merge too soon. 2018-08-29 19:46:25 -07:00
Ryan Nowak 3511c8cef0 Add vectorized il-emit trie jump table
Add new futuristic jump table. Remove old experimental jump tables since
this is much much better.
2018-08-29 19:30:02 -07:00
James Newton-King 4e9e33a223
Unit test constraints without HttpContext (#755) 2018-08-29 17:34:54 +12:00
James Newton-King 99c4f2f36a
Support policy arguments and resolving services by constructors (#753) 2018-08-29 14:51:34 +12:00
James Newton-King 40fb13a021
Fix DfaMatcher to work with non-RouteEndpoint (#739) 2018-08-24 09:11:13 +12:00
James Newton-King 15e46ad323
Change RoutePattern to not throw when inline and arg default value are the same (#747) 2018-08-23 21:39:23 +12:00
Ryan Nowak a0aa61fd10 Improvements for IEndpointSelectorPolicy
These changes are based on our discussion earlier this week. Adding
async, and making it possible to short circuit, which should be better
aligned with the requirments of versioning.
2018-08-22 19:26:13 -07:00
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
Kiran Challa 731767837a Introducing new **catchAll parameter to allow generating links with unencoded values 2018-08-16 15:52:09 -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
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
James Newton-King 8c4f187c22
Endpoint routing rename and API review changes (#684) 2018-08-02 13:38:08 +12: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 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
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
James Newton-King fdff66054f
Missing ChangeToken -> GetChangeToken updates (#660) 2018-07-25 14:35:41 +12:00