1234567891011121314151617181920212223242526272829303132333435363738 |
- 'use strict';
- const path = require('path');
- const processMultipart = require('./processMultipart');
- const isEligibleRequest = require('./isEligibleRequest');
- const { buildOptions, debugLog } = require('./utilities');
- const DEFAULT_OPTIONS = {
- debug: false,
- uploadTimeout: 60000,
- fileHandler: false,
- uriDecodeFileNames: false,
- safeFileNames: false,
- preserveExtension: false,
- abortOnLimit: false,
- responseOnLimit: 'File size limit has been reached',
- limitHandler: false,
- createParentPath: false,
- parseNested: false,
- useTempFiles: false,
- tempFileDir: path.join(process.cwd(), 'tmp')
- };
- /**
- * Expose the file upload middleware
- * @param {Object} options - Middleware options.
- * @returns {Function} - express-fileupload middleware.
- */
- module.exports = (options) => {
- const uploadOptions = buildOptions(DEFAULT_OPTIONS, options);
- return (req, res, next) => {
- if (!isEligibleRequest(req)) {
- debugLog(uploadOptions, 'Request is not eligible for file upload!');
- return next();
- }
- processMultipart(uploadOptions, req, res, next);
- };
- };
|