Initial commit
This commit is contained in:
51
app.js.express
Normal file
51
app.js.express
Normal file
@ -0,0 +1,51 @@
|
||||
require('dotenv').config({ path: '.env' });
|
||||
const express = require('express');
|
||||
const formidable = require('formidable');
|
||||
const routes = require('./routes/routes');
|
||||
const MorganMiddleware = require('./middleware/MorganMiddleware');
|
||||
|
||||
const app = express();
|
||||
|
||||
app.use(MorganMiddleware);
|
||||
|
||||
app.use(express.json({ limit: '10mb' })); // parsing application/json
|
||||
app.use(express.urlencoded({ extended: true })); // parsing application/x-www-form-urlencoded
|
||||
// parsing form-data
|
||||
app.use(async function (req, res, next) {
|
||||
try {
|
||||
let isMultipart = req.headers['content-type'].includes('multipart/form-data', 0);
|
||||
if (isMultipart) {
|
||||
let form = new formidable.IncomingForm();
|
||||
let parseFormData = async function () {
|
||||
return new Promise((resolve, reject) => {
|
||||
form.parse(req, function (err, fields, files) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return;
|
||||
}
|
||||
req.body = fields;
|
||||
resolve(true);
|
||||
})
|
||||
})
|
||||
}
|
||||
await parseFormData();
|
||||
}
|
||||
} catch (e) {
|
||||
}
|
||||
next();
|
||||
});
|
||||
|
||||
app.use(async function (req, res, next) {
|
||||
// set control allowed headers
|
||||
res.header('Access-Control-Allow-Origin', '*');
|
||||
res.header('Access-Control-Allow-Methods', 'OPTIONS,GET,HEAD,PUT,PATCH,POST,DELETE');
|
||||
res.header('Access-Control-Allow-Headers', 'Accept, Authorization, Content-Type, X-Requested-With, Range, x-api-key, x-forwarded-for');
|
||||
next();
|
||||
});
|
||||
|
||||
// api
|
||||
routes.use(app);
|
||||
|
||||
app.listen(process.env.PORT, () => {
|
||||
console.log('Service running at port ' + process.env.PORT);
|
||||
});
|
||||
Reference in New Issue
Block a user