--- services/history-v1/storage/lib/history_store.js +++ services/history-v1/storage/lib/history_store.js @@ -103,11 +103,11 @@ HistoryStore.prototype.storeRaw = function historyStoreStoreRaw( assert.object(rawHistory, 'bad rawHistory') const key = getKey(projectId, chunkId) - const stream = streams.gzipStringToStream(JSON.stringify(rawHistory)) logger.debug({ projectId, chunkId }, 'storeRaw started') return BPromise.resolve() - .then(() => + .then(() => streams.gzipStringToStream(JSON.stringify(rawHistory))) + .then(stream => persistor.sendStream(BUCKET, key, stream, { contentType: 'application/json', contentEncoding: 'gzip', --- services/history-v1/storage/lib/streams.js +++ services/history-v1/storage/lib/streams.js @@ -79,8 +79,15 @@ function gunzipStreamToBuffer(readStream) { exports.gunzipStreamToBuffer = gunzipStreamToBuffer function gzipStringToStream(string) { - const gzip = zlib.createGzip() - return new ReadableString(string).pipe(gzip) + return new BPromise(function (resolve, reject) { + zlib.gzip(Buffer.from(string), function (error, result) { + if (error) { + reject(error) + } else { + resolve(new ReadableString(result)) + } + }) + }) } /** @@ -88,6 +95,6 @@ function gzipStringToStream(string) { * * @function * @param {string} string - * @return {stream.Writable} + * @return {Promise.} */ exports.gzipStringToStream = gzipStringToStream