Added to the null check of rules to see if any rules exist.
This helps since in the case that a policy is stored in config with null rules, since when when it is deserialized, rules will not be null in memory due to instantiation as empty in the default ctor.
Therefore, IP/ClientKey/Endpoint will be checked even if there are no rules.
This could be problematic since if GetRequestIdentity is overridden and IP isn't set explicitly (since from a policy perspective there are no rules or whitelists connected to IP) an exception will be thrown while parsing it.
Finally, this is a small perf boost, since if there are no rules, none of the rule related code is run.
Added to the null check of rules to see if any rules exist.
This helps since in the case that a policy is stored in config with null rules, since when when it is deserialized, rules will not be null in memory due to instantiation as empty in the default ctor.
Therefore, IP/ClientKey/Endpoint will be checked even if there are no rules. This could be problematic since if GetRequestIdentity is overridden and IP isn't set explicitly (since from a policy perspective there are no rules or whitelists connected to IP) an exception will be thrown while parsing it.
Finally, this is a small perf boost, since if there are no rules, none of the rule related code is run.