New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2.x #2767 Optimize URLHelper methods is_local
and is_external
#2782
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Resolves #2766 Changed: - Method `is_local()` to find occurrence on URL's hostname instead of the entire URL. - Method `is_external()` to use `is_local()`.
This will resolve issues where the current host is a subdomain or substring of the URL's host.
Replaced with `str_starts_with()` to check for the double slash and `parse_url()` to check for the scheme. This will resolve issues where `http` or `//` might be a substring of the URL's path.
if `wp_parse_url()` fails to extract or does not find a host name in the given URL parameter, presume that the parameter might be a host name itself, such as `example.org` (see unit test).
mcaskill
approved these changes
Jul 27, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Related:
is_local
andis_external
#2767Issue
I added some more tests to check whether the
is_local()
andis_external()
functions work with domains only. I found that they don’t. But I think that intuitively, they should.Solution
In 8d06cf8, I added an additional check that when the given URL doesn’t have a URL scheme, we add one with
//
and check the URL like that.Impact
Better consistency.
Usage Changes
None.
Considerations
None.
Testing
Yes.