-
-
Notifications
You must be signed in to change notification settings - Fork 202
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
Fix: restore array parameter support in CatalogItemsV20220401Api #832
Closed
burakaktna
wants to merge
15
commits into
jlevers:main
from
burakaktna:fix/explode-parameter-support
Closed
Fix: restore array parameter support in CatalogItemsV20220401Api #832
burakaktna
wants to merge
15
commits into
jlevers:main
from
burakaktna:fix/explode-parameter-support
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
Update v5.0 branch to before v6 changes
Simplify logging of exceptions, requests and responses.
keywords, identifiers, and marketplace_ids can each be comma-separated strings that have a limit on values. The code was trying to use count() to check for that, which doesn't work. I added explode(",", $var) to fix this. Imo, it would make more sense if these parameters were typed as arrays to begin with, but making a change like that would break existing implementations. This method was chosen so it will "just work" for anyone's existing usage of the library.
Fix incorrect parameter checks inside searchCatalogItemsRequest
[v5] Fix enum constants
- Add getArraySize helper method for consistent counting - Maintain array handling in query parameters - Fix backwards compatibility from PR jlevers#700 Fixes jlevers#831
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.
Description
This PR fixes the breaking change introduced in v5.10.3 (PR #700) that affected parameter type handling in searchCatalogItemsRequest. The fix restores support for both string and array inputs while maintaining the validation logic.
Change Details
getArraySize
helper method to handle both array and string inputs consistentlyRelated Issue
Fixes #831
Background
PR #700 introduced stricter type checking that unintentionally broke backwards compatibility by enforcing string-only parameters. This change restores the ability to handle both string and array inputs while maintaining the same validation rules.
Testing
The changes resolve the TypeError:
explode(): Argument #2 ($string) must be of type string, array given