Add support for downloading binary files using S3Client.getObject
#113
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.
What
This Pull Request adds support for downloading binary S3 objects using the
getObject
operation to address #105 and supersede #107.We wanted to get this done, and as the initial contributor did not appear to have the capacity to switch to the proposed design, we took the liberty to do it.
How
This PR adds an
additionalHeaders
parameter to S3Client.getObject. The operation additionally receives support for theAccept
header. When the header is provided with the valueapplication/octet-stream,
the operation will treat the response as binary content and return an ArrayBuffer.We decided to opt for the header approach, as it doesn't leak nor depend on k6 interfaces and adopts a standard HTTP behavior, indicating to the server the type of content we expect in return through the Accept header.
Example