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.
Relates to: #268 (PR) and #264 (issue)
Problem
I ran into some problems when doing Bulk API 2.0 operations. Basically, the 'format' needs to be set to 'none' for receiving CSV payloads from the 'failedResults' and 'successfulResults' endpoints. However, you want to make a subsequent 'json' request, the
$this->options['format'] !== $this->settings['defaults']['format']
line will prevent you from setting your format to 'json' if it is also the default in the config file (which it might be for most people).Solution
Instead of the code "remembering" what format you set in your last call, I think it's simpler to always check and set the correct format: If the 'format' option is specified, use that. If it's not specified, use the default from the config file.
To alleviate this, I modified setFormatter() to only set a format if it's different from the current format.