
Request parser middleware
Middleware for larvitbase or express to handle parsing url, forms and file uploads. This is just a wrapper for the following libraries:
As a little bonus, it is also setting a request uuid to identify every request in logs etc.
Installation
npm i --save larvitreqparser
Usage
Larvitbase
Usage with larvitbase
const App = require('larvitbase');
const ReqParser = require('larvitreqparser');
const reqParser = new ReqParser({
'fs': require('fs-extra'),
'log': new (require('larvitutils').Log(),
'storage': 'memory',
'busboyOptions': {}
});
new App({
'httpOptions': 8001,
'middleware': [
reqParser.parse.bind(reqParser),
function (req, res) {
res.end('Hello world');
}
]
});
Cleanup when not using memory
When not using memory, files are stored on disk. They must be manually removed or they will just fill up infinitly!
const App = require('larvitbase');
const ReqParser = require('larvitreqparser');
const reqParser = new ReqParser({
'storage': '/tmp'
});
const fs = require('fs');
new App({
'httpOptions': 8001,
'middleware': [
reqParser.parse,
function (req, res, cb) {
res.end('Hello world');
cb();
},
reqParser.clean
]
});
If a file should not be cleaned up for some reason a flag can be set on the formFile object to indicate manual cleanup:
function middleware(req, res, cb) {
req.formFiles.myFile.manualCleanup = true;
doSomethingAsyncWithTheFile(req.formFiles.myFile, function() {
});
cb();
}
Changelog
- 0.4.7 - Added simplest possible declaration file for package to work with typescript