Disable auto-decompression in GCS persistor

The GCS library automatically decompresses files with Content-encoding:
gzip. This is very useful, but the S3 library doesn't do that, so we
need to disable the feature in GCS so that it behaves the same way other
persistors behave.
This commit is contained in:
Eric Mc Sween 2020-08-18 16:04:54 -04:00
parent c1f6554f1c
commit 967dde280e
2 changed files with 8 additions and 1 deletions

View file

@ -102,7 +102,7 @@ module.exports = class GcsPersistor extends AbstractPersistor {
const stream = this.storage
.bucket(bucketName)
.file(key)
.createReadStream(opts)
.createReadStream({ decompress: false, ...opts })
// ingress to us from gcs
const observer = new PersistorHelper.ObserverStream({

View file

@ -160,6 +160,12 @@ describe('GcsPersistorTests', function () {
expect(GcsFile.createReadStream).to.have.been.called
})
it('disables automatic decompression', function () {
expect(GcsFile.createReadStream).to.have.been.calledWith({
decompress: false
})
})
it('pipes the stream through the meter', function () {
expect(ReadStream.pipe).to.have.been.calledWith(
sinon.match.instanceOf(Transform)
@ -183,6 +189,7 @@ describe('GcsPersistorTests', function () {
it('passes the byte range on to GCS', function () {
expect(GcsFile.createReadStream).to.have.been.calledWith({
decompress: false,
start: 5,
end: 10
})