Skip to content

Commit 11108e1

Browse files
committedApr 30, 2017
Use safe-buffer for improved Buffer API
1 parent 08135aa commit 11108e1

File tree

4 files changed

+16
-21
lines changed

4 files changed

+16
-21
lines changed
 

‎HISTORY.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
unreleased
2+
==========
3+
4+
* Use `safe-buffer` for improved Buffer API
5+
16
2.4.2 / 2017-03-24
27
==================
38

‎index.js

+2-14
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
* @private
1414
*/
1515

16+
var Buffer = require('safe-buffer').Buffer
1617
var etag = require('etag')
1718
var fresh = require('fresh')
1819
var fs = require('fs')
@@ -55,7 +56,7 @@ function favicon (path, options) {
5556
}
5657

5758
if (Buffer.isBuffer(path)) {
58-
icon = createIcon(copyBuffer(path), maxAge)
59+
icon = createIcon(Buffer.from(path), maxAge)
5960
} else if (typeof path === 'string') {
6061
path = resolveSync(path)
6162
} else {
@@ -107,19 +108,6 @@ function calcMaxAge (val) {
107108
: ONE_YEAR_MS
108109
}
109110

110-
/**
111-
* Copy a given Buffer.
112-
*
113-
* @param {Buffer} buf
114-
* @private
115-
*/
116-
117-
function copyBuffer (buf) {
118-
var copy = new Buffer(buf.length)
119-
buf.copy(copy)
120-
return copy
121-
}
122-
123111
/**
124112
* Create icon data from Buffer and max-age.
125113
*

‎package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"etag": "~1.8.0",
1515
"fresh": "0.5.0",
1616
"ms": "1.0.0",
17-
"parseurl": "~1.3.1"
17+
"parseurl": "~1.3.1",
18+
"safe-buffer": "5.0.1"
1819
},
1920
"devDependencies": {
2021
"eslint": "3.19.0",

‎test/test.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11

22
var assert = require('assert')
3+
var Buffer = require('safe-buffer').Buffer
34
var favicon = require('..')
45
var http = require('http')
56
var path = require('path')
@@ -21,7 +22,7 @@ describe('favicon()', function () {
2122
})
2223

2324
it('should accept buffer', function () {
24-
assert.doesNotThrow(favicon.bind(null, new Buffer(20)))
25+
assert.doesNotThrow(favicon.bind(null, Buffer.alloc(20)))
2526
})
2627

2728
it('should exist', function () {
@@ -260,17 +261,17 @@ describe('favicon()', function () {
260261

261262
describe('buffer', function () {
262263
it('should be served from buffer', function (done) {
263-
var buffer = new Buffer('####################')
264+
var buffer = Buffer.alloc(20, '#')
264265
var server = createServer(buffer)
265266

266267
request(server)
267268
.get('/favicon.ico')
268-
.expect('Content-Length', buffer.length)
269+
.expect('Content-Length', '20')
269270
.expect(200, buffer, done)
270271
})
271272

272273
it('should be copied', function (done) {
273-
var buffer = new Buffer('####################')
274+
var buffer = Buffer.alloc(20, '#')
274275
var server = createServer(buffer)
275276

276277
assert.equal(buffer.toString(), '####################')
@@ -279,8 +280,8 @@ describe('favicon()', function () {
279280

280281
request(server)
281282
.get('/favicon.ico')
282-
.expect('Content-Length', buffer.length)
283-
.expect(200, new Buffer('####################'), done)
283+
.expect('Content-Length', '20')
284+
.expect(200, Buffer.from('####################'), done)
284285
})
285286
})
286287
})

0 commit comments

Comments
 (0)
Please sign in to comment.