Files
2025-12-05 06:21:42 +07:00

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");
});