82 lines
2.8 KiB
JavaScript
82 lines
2.8 KiB
JavaScript
const express = require('express');
|
|
const bodyparser = require('body-parser');
|
|
const fs = require('fs');
|
|
const app = express();
|
|
const cors = require('cors');
|
|
const dotenv = require('dotenv');
|
|
dotenv.config({path: __dirname + '/.env'});
|
|
const port = process.env.PORT || 9000;
|
|
|
|
const Controllers = require('./controllers/controller.js');
|
|
const controllers = new Controllers();
|
|
var apireshandler = controllers.getApiResultDefined();
|
|
|
|
app.use(bodyparser.urlencoded({ extended: false })); //for x-www-urlencoded <form>
|
|
|
|
app.use(express.urlencoded({ limit: '100mb', extended: true, parameterLimit: 50000 })); //===>for application json
|
|
// app.use(bodyparser.json('application/json'));
|
|
app.use(bodyparser.json({ limit: '100mb' }));
|
|
|
|
app.use(cors());
|
|
// app.use((req, res, next) => {
|
|
// // res.setHeader('Access-Allow-Control-Origin','https://cdpn.io'); hiii
|
|
// res.setHeader('Access-Control-Allow-Origin', '*'); //== Allow all request client
|
|
// res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE');
|
|
// res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
|
|
// // res.setHeader('Access-Control-Allow-Credentials', true);
|
|
// next();
|
|
// });
|
|
|
|
app.set('trust proxy', false);
|
|
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
|
|
|
|
|
|
// === DYNAMICALLY INCLUDE ROUTES ( CONTROLLER )
|
|
fs.readdirSync('./routes').forEach(function (file) {
|
|
var rf = false;
|
|
if (file.substr(-3) == '.js') {
|
|
var fl = (file.substr(0, file.length - 3));
|
|
var router = require('./routes/' + fl);
|
|
// console.log('./routes/' + fl);
|
|
app.use('/' + fl, router);
|
|
rf = true;
|
|
}
|
|
if (!rf) { res.send("File not found."); }
|
|
});
|
|
//app.use('/users', userRoutes);
|
|
|
|
app.use(function (error, req, res, next) {
|
|
//console.log(error.statusCode);
|
|
// res.status(401).send('401: '+error);
|
|
// if(error.statusCode==401){
|
|
// }
|
|
// console.log(error);
|
|
res.append("responseData","{statusCode : "+error.statusCode+",message : "+error.message+"}");
|
|
apireshandler.meta.code = error.statusCode;
|
|
apireshandler.meta.message = error.message;
|
|
|
|
res.status(error.statusCode).json(apireshandler);
|
|
//next();
|
|
|
|
});
|
|
|
|
// // // Handle 404
|
|
// app.use(function (req, res) {
|
|
// res.status(404).send('404: Route not Found, please contact your administrator');
|
|
// });
|
|
|
|
// // // Handle 500
|
|
// app.use(function (error, req, res, next) {
|
|
// console.log(error);
|
|
// res.status(200).send('500: Internal Server Error, err : '+error);
|
|
// });
|
|
|
|
// // Handle 502
|
|
// app.use(function (error, req, res, next) {
|
|
// res.status(502).send('502: Bad gateway');
|
|
// });
|
|
|
|
app.listen(port,function(){
|
|
console.log("Starting "+process.env.APPNAME+" running on 8080");
|
|
});
|