Add premium endpoint and token authentication support for Geonames provider#1261
Open
AronNovak wants to merge 6 commits intogeocoder-php:masterfrom
Open
Add premium endpoint and token authentication support for Geonames provider#1261AronNovak wants to merge 6 commits intogeocoder-php:masterfrom
AronNovak wants to merge 6 commits intogeocoder-php:masterfrom
Conversation
…ovider - Add optional token parameter to Geonames constructor - Add secure flag to enable https://secure.geonames.net endpoint - Support dynamic base URL (api.geonames.org or secure.geonames.net) - Append token parameter to all API requests when provided - Maintain backward compatibility with existing username-only authentication
jbelien
reviewed
Oct 18, 2025
Member
jbelien
left a comment
There was a problem hiding this comment.
Thanks a lot for your PR.
On top of the following comments, here are a few extra remarks:
- Is
secure.geonames.orgonly available if you provide a token?
Your PR description seems to say so but the code doesn't reflect that. - Please add some tests for the use of
$tokenand$secure.
You'll have to updatephpunit.xml.distand temporarily set your token (do not commit it), the response using your token will be cached in.cached_responsesso we can keep testing it without needing your token.
Thanks.
Author
|
@jbelien Thanks for the feedback, I addressed the points of the review. |
Member
|
Thanks. Your new tests do not seem to pass ; could you have a look ? |
PHPUnit converts XML attribute value='true' to boolean true instead of string 'true', causing the cache dir check to fail and tests to make real API calls instead of using cached responses.
This file contains hidden or 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
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.
Summary
This PR adds support for Geonames premium accounts by introducing optional
tokenandsecureparameters to the Geonames provider.Changes
$tokenparameter to the Geonames constructor for premium account authentication$secureboolean flag to enable the secure HTTPS endpoint (https://secure.geonames.net)$secureflagappendToken()method to append the token parameter to API requests when providedBenefits
Testing
Documentation
Premium accounts can now be used as follows:
username: Your Geonames usernametoken: Your premium account token (optional, defaults tonull)secure: Use secure endpoint (optional, defaults tofalse)