Skip to content

Commit 598d876

Browse files
committed
Use safe-buffer for improved Buffer API
1 parent 47fca12 commit 598d876

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

HISTORY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
unreleased
22
==========
33

4+
* Use `safe-buffer` for improved Buffer API
45
56
* deps: compressible@~2.0.10
67
- Fix regex fallback to not override `compressible: false` in db

index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616

1717
var accepts = require('accepts')
18+
var Buffer = require('safe-buffer').Buffer
1819
var bytes = require('bytes')
1920
var compressible = require('compressible')
2021
var debug = require('debug')('compression')
@@ -84,7 +85,7 @@ function compression (options) {
8485
}
8586

8687
return stream
87-
? stream.write(new Buffer(chunk, encoding))
88+
? stream.write(Buffer.from(chunk, encoding))
8889
: _write.call(this, chunk, encoding)
8990
}
9091

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

112113
// write Buffer for Node.js 0.8
113114
return chunk
114-
? stream.end(new Buffer(chunk, encoding))
115+
? stream.end(Buffer.from(chunk, encoding))
115116
: stream.end()
116117
}
117118

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"compressible": "~2.0.10",
1515
"debug": "2.6.8",
1616
"on-headers": "~1.0.1",
17+
"safe-buffer": "5.1.1",
1718
"vary": "~1.1.1"
1819
},
1920
"devDependencies": {

test/compression.js

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
var assert = require('assert')
2+
var Buffer = require('safe-buffer').Buffer
23
var bytes = require('bytes')
34
var crypto = require('crypto')
45
var http = require('http')
@@ -268,14 +269,12 @@ describe('compression()', function () {
268269

269270
it('should transfer large bodies', function (done) {
270271
var len = bytes('1mb')
271-
var buf = new Buffer(len)
272+
var buf = Buffer.alloc(len, '.')
272273
var server = createServer({ threshold: 0 }, function (req, res) {
273274
res.setHeader('Content-Type', 'text/plain')
274275
res.end(buf)
275276
})
276277

277-
buf.fill('.')
278-
279278
request(server)
280279
.get('/')
281280
.set('Accept-Encoding', 'gzip')
@@ -287,7 +286,7 @@ describe('compression()', function () {
287286

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

299-
buf.fill('.')
300-
301298
request(server)
302299
.get('/')
303300
.set('Accept-Encoding', 'gzip')
@@ -326,7 +323,7 @@ describe('compression()', function () {
326323
var server = createServer({ threshold: '1kb' }, function (req, res) {
327324
res.setHeader('Content-Type', 'text/plain')
328325
res.setHeader('Content-Length', '2048')
329-
res.end(new Buffer(2048))
326+
res.end(Buffer.alloc(2048))
330327
})
331328

332329
request(server)
@@ -371,9 +368,9 @@ describe('compression()', function () {
371368
var server = createServer({ threshold: '1kb' }, function (req, res) {
372369
res.setHeader('Content-Type', 'text/plain')
373370
res.setHeader('Content-Length', '2048')
374-
res.write(new Buffer(1024))
371+
res.write(Buffer.alloc(1024))
375372
setTimeout(function () {
376-
res.end(new Buffer(1024))
373+
res.end(Buffer.alloc(1024))
377374
}, 10)
378375
})
379376

@@ -584,7 +581,7 @@ describe('compression()', function () {
584581
var chunks = 0
585582
var next
586583
var server = createServer({ threshold: 0 }, function (req, res) {
587-
next = writeAndFlush(res, 2, new Buffer(1024))
584+
next = writeAndFlush(res, 2, Buffer.alloc(1024))
588585
res.setHeader('Content-Type', 'text/plain')
589586
res.setHeader('Content-Length', '2048')
590587
next()
@@ -608,7 +605,7 @@ describe('compression()', function () {
608605
var chunks = 0
609606
var next
610607
var server = createServer({ threshold: 0 }, function (req, res) {
611-
next = writeAndFlush(res, 2, new Buffer('..'))
608+
next = writeAndFlush(res, 2, Buffer.from('..'))
612609
res.setHeader('Content-Type', 'text/plain')
613610
next()
614611
})
@@ -631,7 +628,7 @@ describe('compression()', function () {
631628
var chunks = 0
632629
var next
633630
var server = createServer({ threshold: 0 }, function (req, res) {
634-
next = writeAndFlush(res, 2, new Buffer('..'))
631+
next = writeAndFlush(res, 2, Buffer.from('..'))
635632
res.setHeader('Content-Type', 'text/plain')
636633
next()
637634
})

0 commit comments

Comments
 (0)