Comparing version 1.2.3 to 1.2.4
@@ -17,3 +17,3 @@ var is = require('type-is') | ||
function makeMiddleware (setup) { | ||
return function smulterMiddleware (req, res, next) { | ||
return function multerMiddleware (req, res, next) { | ||
if (!is(req, ['multipart'])) return next() | ||
@@ -95,74 +95,2 @@ | ||
// handle files | ||
busboy.on('file', function (fieldname, fileStream, filename, encoding, mimetype) { | ||
// don't attach to the files object, if there is no file | ||
if (!filename) return fileStream.resume() | ||
// Work around bug in Busboy (https://github.com/mscdex/busboy/issues/6) | ||
if (limits && limits.hasOwnProperty('fieldNameSize')) { | ||
if (fieldname.length > limits.fieldNameSize) return abortWithCode('LIMIT_FIELD_KEY') | ||
} | ||
var file = { | ||
fieldname: fieldname, | ||
originalname: filename, | ||
encoding: encoding, | ||
mimetype: mimetype | ||
} | ||
var placeholder = appender.insertPlaceholder(file) | ||
fileFilter(req, file, function (err, includeFile) { | ||
if (err) { | ||
appender.removePlaceholder(placeholder) | ||
return abortWithError(err) | ||
} | ||
if (!includeFile) { | ||
appender.removePlaceholder(placeholder) | ||
return fileStream.resume() | ||
} | ||
var aborting = false | ||
pendingWrites.increment() | ||
Object.defineProperty(file, 'stream', { | ||
configurable: true, | ||
enumerable: false, | ||
value: fileStream | ||
}) | ||
fileStream.on('error', function (err) { | ||
pendingWrites.decrement() | ||
abortWithError(err) | ||
}) | ||
fileStream.on('limit', function () { | ||
aborting = true | ||
abortWithCode('LIMIT_FILE_SIZE', fieldname) | ||
}) | ||
storage._handleFile(req, file, function (err, info) { | ||
if (aborting) { | ||
appender.removePlaceholder(placeholder) | ||
uploadedFiles.push(extend(file, info)) | ||
return pendingWrites.decrement() | ||
} | ||
if (err) { | ||
appender.removePlaceholder(placeholder) | ||
pendingWrites.decrement() | ||
return abortWithError(err) | ||
} | ||
var fileInfo = extend(file, info) | ||
appender.replacePlaceholder(placeholder, fileInfo) | ||
uploadedFiles.push(fileInfo) | ||
pendingWrites.decrement() | ||
indicateDone() | ||
}) | ||
}) | ||
}) | ||
busboy.on('error', function (err) { abortWithError(err) }) | ||
@@ -177,2 +105,4 @@ busboy.on('partsLimit', function () { abortWithCode('LIMIT_PART_COUNT') }) | ||
if (req.originalUrl != '/api/hellosigns/callback') return next() | ||
req.pipe(busboy) | ||
@@ -179,0 +109,0 @@ } |
{ | ||
"name": "smulter", | ||
"description": "Middleware for handling `multipart/form-data`.", | ||
"version": "1.2.3", | ||
"version": "1.2.4", | ||
"contributors": [ | ||
@@ -6,0 +6,0 @@ "Hage Yaapa <captain@hacksparrow.com> (http://www.hacksparrow.com)", |
14052
349