diff --git a/.travis.yml b/.travis.yml index 1a455f9..62a57ea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: node_js node_js: - - "4" - - "5" - "6" + - "7" + - "node" sudo: false script: "npm run test-ci" after_script: "npm install coveralls@2 && cat ./coverage/lcov.info | coveralls" diff --git a/index.js b/index.js index baa6447..9a61112 100644 --- a/index.js +++ b/index.js @@ -11,39 +11,47 @@ * Module dependencies. */ -const originalMulter = require('multer') +const originalMulter = require('multer'); function multer(options) { - const m = originalMulter(options) + const m = originalMulter(options); - makePromise(m, 'any') - makePromise(m, 'array') - makePromise(m, 'fields') - makePromise(m, 'none') - makePromise(m, 'single') + makePromise(m, 'any'); + makePromise(m, 'array'); + makePromise(m, 'fields'); + makePromise(m, 'none'); + makePromise(m, 'single'); - return m + return m; } function makePromise(multer, name) { - if (!multer[name]) return + if (!multer[name]) return; - const fn = multer[name] + const fn = multer[name]; multer[name] = function () { - const middleware = fn.apply(this, arguments) + const middleware = fn.apply(this, arguments); return (ctx, next) => { return new Promise((resolve, reject) => { middleware(ctx.req, ctx.res, (err) => { - err ? reject(err) : resolve(ctx) - }) - }).then(next) - } - } + if ('request' in ctx){ + if (ctx.req.body) ctx.request.body = ctx.req.body; + if (ctx.req.file) ctx.request.file = ctx.req.file; + if (ctx.req.files) { + ctx.request.files = ctx.req.files; + ctx.files = ctx.req.files; + } + } + err ? reject(err) : resolve(ctx); + }); + }).then(next); + }; + }; } -multer.diskStorage = originalMulter.diskStorage -multer.memoryStorage = originalMulter.memoryStorage +multer.diskStorage = originalMulter.diskStorage; +multer.memoryStorage = originalMulter.memoryStorage; -module.exports = multer +module.exports = multer; diff --git a/package.json b/package.json index 3293baa..f726078 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "multer": "1.2.1" }, "engines": { - "node": ">= 4" + "node": ">= 6.0.0" }, "files": [ "History.md",