@@ -24,28 +24,28 @@ var typeis = require('type-is')
24
24
* Module exports.
25
25
*/
26
26
27
- module . exports = generic
27
+ module . exports = createBodyParser
28
28
29
29
/**
30
30
* Use this to create a middleware that parses request bodies
31
31
*
32
- * @param {object } [options]
32
+ * @param {function } parse
33
+ * @param {object } options
34
+ * @param {object } defaultOptions
33
35
* @return {function }
34
36
* @public
35
37
*/
36
38
37
- function generic ( parserOptions , parserOverrides ) {
39
+ function createBodyParser ( parse , options , defaultOptions ) {
38
40
// Squash the options and the overrides down into one object
39
- var opts = Object . create ( parserOptions )
40
- Object . assign ( opts , parserOverrides )
41
+ var opts = { ...defaultOptions || { } , ...options }
41
42
42
43
var limit = typeof opts . limit !== 'number'
43
44
? bytes . parse ( opts . limit || '100kb' )
44
45
: opts . limit
45
46
var charset = opts . charset
46
47
var inflate = opts . inflate !== false
47
48
var verify = opts . verify || false
48
- var parse = opts . parse || defaultParse
49
49
var defaultReqCharset = opts . defaultCharset || 'utf-8'
50
50
var type = opts . type
51
51
@@ -63,7 +63,7 @@ function generic (parserOptions, parserOverrides) {
63
63
? charsetValidator ( charset )
64
64
: charset
65
65
66
- return function genericParser ( req , res , next ) {
66
+ return function ( req , res , next ) {
67
67
if ( isFinished ( req ) ) {
68
68
debug ( 'body already parsed' )
69
69
next ( )
@@ -114,10 +114,6 @@ function generic (parserOptions, parserOverrides) {
114
114
}
115
115
}
116
116
117
- function defaultParse ( buf ) {
118
- return buf
119
- }
120
-
121
117
/**
122
118
* Get the charset of a request.
123
119
*
0 commit comments