Do not add default query if it exists in the original URL #733
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.
Description
While updating unit tests, I have caught an bug in the exiting implementation of appending default 'locale' query to all WP.com REST API call. The expected behaviour is in
testThatLocaleIsNotAppendedIfAlreadyIncludedInPath
.Details
WordPressComRestApi
adds alocale=en
(or whatever the device locale is) query to all HTTP requests, unless the 'local' is passed as parameter. For example:WordPressComRestApi.get("/post/1")
should send an HTTP request with the default 'locale=en' in the URL:https://.../post/1?locale=en
.WordPressComRestApi.get("/post/1", parameters: ["locale": "zh"])
should send an HTTP request withlocale=zh
, instead of the default query "locale=en".However, there is a case missed in the current implementation,
WordPressComRestApi.get("/post/1?locale=zh")
should behave like the second example above and send an HTTP request withlocale=zh
.Testing Details
The bug fix is covered in the existing
testThatLocaleIsNotAppendedIfAlreadyIncludedInPath
and I have added a new dedicate unit test for it.CHANGELOG.md
if necessary.