Skip to content

Commit 77aa821

Browse files
committed
Fix reading options from options prototype
1 parent d6fee2c commit 77aa821

File tree

3 files changed

+8
-10
lines changed

3 files changed

+8
-10
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+
* Fix reading options from options prototype
45
56
67
- Allow Node.js HTTP server to set `Date` response header

index.js

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
*/
1515

1616
var escapeHtml = require('escape-html');
17-
var merge = require('utils-merge');
1817
var parseurl = require('parseurl');
1918
var resolve = require('path').resolve;
2019
var send = require('send');
@@ -45,32 +44,31 @@ function serveStatic(root, options) {
4544
}
4645

4746
// copy options object
48-
options = merge({}, options)
47+
var opts = Object.create(options || null)
4948

5049
// resolve root to absolute
5150
root = resolve(root)
5251

5352
// default redirect
54-
var redirect = options.redirect !== false
53+
var redirect = opts.redirect !== false
5554

5655
// headers listener
57-
var setHeaders = options.setHeaders
58-
delete options.setHeaders
56+
var setHeaders = opts.setHeaders
57+
opts.setHeaders = undefined
5958

6059
if (setHeaders && typeof setHeaders !== 'function') {
6160
throw new TypeError('option setHeaders must be function')
6261
}
6362

6463
// setup options for send
65-
options.maxage = options.maxage || options.maxAge || 0
66-
options.root = root
64+
opts.maxage = opts.maxage || opts.maxAge || 0
65+
opts.root = root
6766

6867
return function serveStatic(req, res, next) {
6968
if (req.method !== 'GET' && req.method !== 'HEAD') {
7069
return next()
7170
}
7271

73-
var opts = merge({}, options)
7472
var originalUrl = parseurl.original(req)
7573
var path = parseurl(req).pathname
7674
var hasTrailingSlash = originalUrl.pathname[originalUrl.pathname.length - 1] === '/'

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
"dependencies": {
99
"escape-html": "1.0.2",
1010
"parseurl": "~1.3.0",
11-
"send": "0.13.0",
12-
"utils-merge": "1.0.0"
11+
"send": "0.13.0"
1312
},
1413
"devDependencies": {
1514
"istanbul": "0.3.9",

0 commit comments

Comments
 (0)