Skip sending optional parameters on POST request when unspecified #230
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.
Changes
The python request library when it creates the query parameters, it will remove any parameter on the passed dict that has a value of
None
. In our library, these are only used for GET requests.For the case of POST or PATCH requests, the dict that conforms the body will not suffer the same filtering.
In some cases it makes sense to send an explicit null value, like when removing a property from the user's
user_metadata
property, the check should be performed on each POST/PATCH function instead of in the base client class.The PR also includes some linting fixes, related to doc blocks and formatting.
References
Fixes #228
Docs on the params filtering https://requests.readthedocs.io/en/master/user/quickstart/#passing-parameters-in-urls. Note it doesn't explicitly mention how the body params are being handled.
Testing
Please describe how this can be tested by reviewers. Be specific about anything not tested and reasons why. If this library has unit and/or integration testing, tests should be added for new functionality and existing tests should complete without errors.
Checklist