Gert Driesen
25b5ab2c39
Improve performance and reduce allocations in RouteValuesAddressScheme. ( #879 )
2018-10-23 13:25:43 +13:00
Gert Driesen
bc482cd2b0
Minor performance improvement for DfaMatcherBuilder ( #854 )
2018-10-23 13:25:08 +13:00
Gert Driesen
bcbf2a1a68
Minor performance improvement for UriBuildingContext.ToPathString() with zero-length path. ( #880 )
2018-10-23 10:20:52 +13:00
Gert Driesen
c93e3a76ff
Eliminate redundant isValid check from DefaultEndpointSelector.ProcessFinalCandidates(...). ( #881 )
2018-10-23 10:20:30 +13:00
Gert Driesen
26e5ea3274
Improves performance and reduce allocations in DefaultEndpointDataSource ( #882 )
2018-10-23 10:20:15 +13:00
Ryan Nowak
4943bc4896
Remove LinkGenerationTemplate
...
This doesn't really accomplish our goals for 2.2 - I don't have a clear
scenario where I would tell a developer to use this VS something else.
Will reevaluate in 3.0
2018-10-22 14:18:22 -07:00
James Newton-King
1d05592cd7
Allow parameter names to match required keys in templates ( #872 )
2018-10-22 11:29:41 +13:00
Gert Driesen
2081160678
Improve performance and reduce allocations of TemplateSegment ( #856 )
2018-10-22 08:35:35 +13:00
Gert Driesen
0f90a15cf1
Use Array.Clone() to copy arrays, and avoid copy where applicable ( #855 )
2018-10-22 08:34:11 +13:00
Gert Driesen
42914d93ca
Declare out variables inline, and use discards ( #873 )
2018-10-21 14:05:05 +13:00
James Newton-King
e51da32e9d
Prefer StringComparison over StringComparer when not using comparers ( #870 )
2018-10-18 11:55:33 +13:00
Gert Driesen
5c31f1f455
Add Remove(string key, out object value) overload to RouteValueDictionary ( #858 )
...
* Add Remove(string key, out object value) overload to RouteValueDictionary.
* Consistently use _count field instead of Count property in Remove overloads.
Added comment on EnsureCapacity call.
Added test for removing first/middle/last entry.
2018-10-17 13:24:07 -07:00
James Newton-King
fbf0708f19
Fix DfaGraphWriter ISuppressMatchingMetadata check ( #850 )
2018-10-12 16:08:50 +13:00
Ryan Nowak
7b16053f27
Misc polishing
...
Rename `IEndpointFinder<>` -> `IAddressScheme<>`
Address the two 'marker' metadata types that I'm aware of.
2018-10-08 15:45:44 -07:00
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
af47b27f0d
Add blurb about Host header
2018-10-05 19:03:21 -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
a2f404f4d5
Perf improvements for EndpointSelector
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
James Newton-King
95753825ef
Comment registered key ( #816 )
2018-09-27 07:06:30 -07: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
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
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
e5cc4564cb
add docs for constructor
2018-09-10 16:55:39 -07: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
c683844817
Fix #553 - Add logging for new LinkGenerator
...
Adds logging for all of the failure cases of link generation.
2018-09-10 16:11:43 -07:00
Ryan Nowak
e3b704095b
Revisions to LinkGenerator ( #770 )
...
* Revisions to LinkGenerator
* PR feedback
2018-09-05 20:52:09 -07:00
James Newton-King
dcfb63a768
Avoid RoutePattern allocating empty dictionaries ( #772 )
2018-09-06 14:00:52 +12:00
James Newton-King
1c74973c6a
Minor matcher builder allocation optimization ( #771 )
2018-09-06 13:47:34 +12:00
James Newton-King
dbebdbecd6
Add flag for including label with DfaNodes ( #769 )
2018-09-06 13:38:17 +12:00
James Newton-King
fe8c633224
Optimize builder and HTTP policy allocations ( #768 )
2018-09-06 13:25:35 +12:00
James Newton-King
abc378d3dc
Avoid resizing large struct arrays ( #767 )
2018-09-06 13:10:17 +12:00
James Newton-King
0f5d471dfd
Create collections on DfaNode as needed ( #779 )
2018-09-06 12:58:57 +12:00
James Newton-King
a777a4cdd5
Reuse collections in DfaMatcherBuilder ( #778 )
2018-09-06 12:25:45 +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
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
99c4f2f36a
Support policy arguments and resolving services by constructors ( #753 )
2018-08-29 14:51:34 +12:00