resource/cloudflare_list_item: handle overlapping redirect source_url
#3335
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To determine the individual list item identifier, we perform an additional HTTP search against the endpoint filtering for the value. In the case of IPs, we use a "starts with" match whereas for redirects, it is a contains. This creates an edge whereby if you have a multiple redirects whereby they share a substring, you cannot differentiate them.
This introduces an additional loop performing an exact match against what the user has provided with all found search results.
NB: For a small dataset, this is manageable however, for 10+ similar items, you are very likely to exhaust your API quota due to additional requests. In the future, the service will improve the search to provide different search match types which we can lean on here instead.