Skip to content

Commit

Permalink
Use safe-buffer for improved Buffer API
Browse files Browse the repository at this point in the history
  • Loading branch information
dougwilson committed Jul 11, 2017
1 parent 47fca12 commit 598d876
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 14 deletions.
1 change: 1 addition & 0 deletions HISTORY.md
@@ -1,6 +1,7 @@
unreleased
==========

* Use `safe-buffer` for improved Buffer API
* deps: bytes@2.5.0
* deps: compressible@~2.0.10
- Fix regex fallback to not override `compressible: false` in db
Expand Down
5 changes: 3 additions & 2 deletions index.js
Expand Up @@ -15,6 +15,7 @@
*/

var accepts = require('accepts')
var Buffer = require('safe-buffer').Buffer
var bytes = require('bytes')
var compressible = require('compressible')
var debug = require('debug')('compression')
Expand Down Expand Up @@ -84,7 +85,7 @@ function compression (options) {
}

return stream
? stream.write(new Buffer(chunk, encoding))
? stream.write(Buffer.from(chunk, encoding))
: _write.call(this, chunk, encoding)
}

Expand All @@ -111,7 +112,7 @@ function compression (options) {

// write Buffer for Node.js 0.8
return chunk
? stream.end(new Buffer(chunk, encoding))
? stream.end(Buffer.from(chunk, encoding))
: stream.end()
}

Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -14,6 +14,7 @@
"compressible": "~2.0.10",
"debug": "2.6.8",
"on-headers": "~1.0.1",
"safe-buffer": "5.1.1",
"vary": "~1.1.1"
},
"devDependencies": {
Expand Down
21 changes: 9 additions & 12 deletions test/compression.js
@@ -1,4 +1,5 @@
var assert = require('assert')
var Buffer = require('safe-buffer').Buffer
var bytes = require('bytes')
var crypto = require('crypto')
var http = require('http')
Expand Down Expand Up @@ -268,14 +269,12 @@ describe('compression()', function () {

it('should transfer large bodies', function (done) {
var len = bytes('1mb')
var buf = new Buffer(len)
var buf = Buffer.alloc(len, '.')
var server = createServer({ threshold: 0 }, function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.end(buf)
})

buf.fill('.')

request(server)
.get('/')
.set('Accept-Encoding', 'gzip')
Expand All @@ -287,7 +286,7 @@ describe('compression()', function () {

it('should transfer large bodies with multiple writes', function (done) {
var len = bytes('40kb')
var buf = new Buffer(len)
var buf = Buffer.alloc(len, '.')
var server = createServer({ threshold: 0 }, function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.write(buf)
Expand All @@ -296,8 +295,6 @@ describe('compression()', function () {
res.end(buf)
})

buf.fill('.')

request(server)
.get('/')
.set('Accept-Encoding', 'gzip')
Expand Down Expand Up @@ -326,7 +323,7 @@ describe('compression()', function () {
var server = createServer({ threshold: '1kb' }, function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.setHeader('Content-Length', '2048')
res.end(new Buffer(2048))
res.end(Buffer.alloc(2048))
})

request(server)
Expand Down Expand Up @@ -371,9 +368,9 @@ describe('compression()', function () {
var server = createServer({ threshold: '1kb' }, function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.setHeader('Content-Length', '2048')
res.write(new Buffer(1024))
res.write(Buffer.alloc(1024))
setTimeout(function () {
res.end(new Buffer(1024))
res.end(Buffer.alloc(1024))
}, 10)
})

Expand Down Expand Up @@ -584,7 +581,7 @@ describe('compression()', function () {
var chunks = 0
var next
var server = createServer({ threshold: 0 }, function (req, res) {
next = writeAndFlush(res, 2, new Buffer(1024))
next = writeAndFlush(res, 2, Buffer.alloc(1024))
res.setHeader('Content-Type', 'text/plain')
res.setHeader('Content-Length', '2048')
next()
Expand All @@ -608,7 +605,7 @@ describe('compression()', function () {
var chunks = 0
var next
var server = createServer({ threshold: 0 }, function (req, res) {
next = writeAndFlush(res, 2, new Buffer('..'))
next = writeAndFlush(res, 2, Buffer.from('..'))
res.setHeader('Content-Type', 'text/plain')
next()
})
Expand All @@ -631,7 +628,7 @@ describe('compression()', function () {
var chunks = 0
var next
var server = createServer({ threshold: 0 }, function (req, res) {
next = writeAndFlush(res, 2, new Buffer('..'))
next = writeAndFlush(res, 2, Buffer.from('..'))
res.setHeader('Content-Type', 'text/plain')
next()
})
Expand Down

0 comments on commit 598d876

Please sign in to comment.