-
Couldn't load subscription status.
- Fork 716
Description
In OrchardCore we don't use AddApiVersioning() by default but someone did and experienced a NRE in ApiVersionMatcherPolicy. We already had the exact same issue with PageLoaderMatcherPolicy that we use by default, see here the related issue we opened and whose fix has been merged.
Here the description of this related issue where you can replace PageLoaderMatcherPolicy with ApiVersionMatcherPolicy.
If a DynamicRouteValueTransformer, mapped to a given pattern, doesn't always return some route values related to a valid endpoint, when this is the case for a given path which also matches a razor page, PageLoaderMatcherPolicy fails line 71 because of a null endpoint.
The issue was that the policy was not checking the endpoint validity as done e.g in DynamicPageEndpointMatcherPolicy, but not here in ApiVersionMatcherPolicy.
...
for (var i = 0; i < candidates.Count; i++)
{
// Additional checking.
if (!candidates.IsValidCandidate(i))
{
continue;
}
...