Skip to content

Commit

Permalink
fix: set content length after gzip
Browse files Browse the repository at this point in the history
  • Loading branch information
jimlambie committed Jan 30, 2019
1 parent 422eeca commit 57be1cb
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions dadi/lib/controller/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,25 +75,24 @@ const Controller = function (router) {
}

let etagResult = etag(data)
let contentLength = Buffer.isBuffer(data)
? data.byteLength
: data.length

res.setHeader('ETag', etagResult)

if (this.shouldCompress(req, handler)) {
res.setHeader('Content-Encoding', 'gzip')
res.setHeader('Transfer-Encoding', 'chunked')

data = new Promise((resolve, reject) => {
zlib.gzip(data, (err, compressedData) => {
if (err) return reject(err)

res.setHeader('Content-Length', compressedData.byteLength)
resolve(compressedData)
})
})
} else {
res.setHeader('Content-Length', contentLength)
res.setHeader(
'Content-Length',
Buffer.isBuffer(data) ? data.byteLength : data.length
)
}

return Promise.resolve(data).then(data => {
Expand Down

0 comments on commit 57be1cb

Please sign in to comment.