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