Refactor: Refactored Request Functions for Improved Code Maintainability #584
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.
Key Optimizations:
Extracted Common Header Logic:
setHeaders
function centralizes the logic for settingContent-Type
andAccept
headers, reducing repetition across functions.Extracted JSON Marshaling:
marshalBodyJSON
andmarshalBodyJSONAPI
functions handle the logic for marshaling data and setting the body inRequestOptions
. This reduces redundant code in individual request functions.Simplified Functions:
RequestJSON
,RequestJSONAPI
,RequestJSONAPIBulk
) are now streamlined to focus on setting specific headers and calling the relevant helper functions. This enhances readability and maintainability.Handled
RequestOptions
Initialization in One Place:setHeaders
function ensures thatRequestOptions
and itsHeaders
map are properly initialized, eliminating duplicate initialization code.This refactoring reduces redundancy, improves readability, and makes the codebase easier to maintain while preserving existing functionality.
###Testing
I ran
make all
with following output.