95 lines
3.2 KiB
JavaScript
95 lines
3.2 KiB
JavaScript
_program_init();
|
|
|
|
const express = require('express');
|
|
const app = express();
|
|
|
|
const ip = "0.0.0.0";
|
|
const port = process.env.SERVER_PORT;
|
|
|
|
const cookieParser = require('cookie-parser');
|
|
|
|
app.use(express.json()); // json 요청 처리
|
|
app.use(cookieParser());
|
|
//#region root path
|
|
/*
|
|
4xx: 클라이언트 오류
|
|
400 Bad Request: 잘못된 요청으로 서버가 요청을 처리할 수 없음을 나타냅니다.
|
|
401 Unauthorized: 인증이 필요한 리소스에 인증되지 않은 접근을 시도했음을 나타냅니다.
|
|
403 Forbidden: 요청이 서버에서 거부되었으며, 클라이언트에 권한이 없음을 의미합니다.
|
|
404 Not Found: 요청한 리소스를 찾을 수 없음을 나타냅니다.
|
|
405 Method Not Allowed: HTTP 메서드가 허용되지 않은 경우 사용됩니다.
|
|
*/
|
|
/*
|
|
5xx: 서버 오류
|
|
500 Internal Server Error: 서버에서 요청을 처리하는 중에 문제가 발생했음을 나타냅니다.
|
|
502 Bad Gateway: 서버가 잘못된 응답을 수신했을 때 사용됩니다.
|
|
503 Service Unavailable: 서버가 일시적으로 과부하 상태이거나 유지 보수 중일 때 사용됩니다.
|
|
504 Gateway Timeout: 서버가 게이트웨이 또는 프록시로서 응답 시간을 초과했음을 나타냅니다.
|
|
*/
|
|
app.use((req, res, next) => {
|
|
console.log(`[REQ - ${req.method}] url : ${req.url}`)
|
|
next();
|
|
})
|
|
app.get('/', (req, res) => {
|
|
res.sendFile(__dirname + '/index.html')
|
|
})
|
|
//#endregion
|
|
|
|
//#region auth path
|
|
const authRoutes = require('./src/routes/authRoutes');
|
|
app.use('/auth', authRoutes.ar);
|
|
//#endregion
|
|
|
|
app.listen(port, ip, (error) => {
|
|
global.clog.info(`서버가 'http://${ip}:${port}' 에서 실행 중입니다.`);
|
|
})
|
|
|
|
function _program_init() {
|
|
let gtp = require('./src/utils/Global_TP');
|
|
global._GTP = new gtp();
|
|
global.clog = require('./src/utils/consoleLogger').log
|
|
global.clog.info("program!!");
|
|
global.crouter = require('./src/utils/routeHelper').ROUTER;
|
|
|
|
const UAC = require('./src/models/userAuthController');
|
|
const PGSQL = require('./src/models/postgre_SQL');
|
|
global._SPM = {
|
|
uac: new UAC(),
|
|
db: {
|
|
pgSql: new PGSQL()
|
|
}
|
|
}
|
|
|
|
const dotenv = require('dotenv');
|
|
dotenv.config();
|
|
const envr = process.env.NODE_ENV || 'dev';
|
|
dotenv.config({ path: `.env.${envr}` });
|
|
|
|
//#region 개발 모드 or 프로덕션 모드
|
|
global.clog.info(`[${process.env.NODE_ENV} Mode] ---------------------------`)
|
|
//#endregion
|
|
|
|
//#region user config set
|
|
global._SPM.uac.Set_Config({
|
|
secret_key: process.env.JWT_SECRET,
|
|
cookie_name: process.env.JWT_COOKIE_NAME,
|
|
exp_time_minute: process.env.AUTH_EXP_TIME_MINUTE,
|
|
session_max_per_user: process.env.AUTH_MAX_SESSION_PER_USER
|
|
})
|
|
global._SPM.db.pgSql.Set_Config({
|
|
HOST: process.env.DB_HOST,
|
|
ID: process.env.DB_ID,
|
|
PW: process.env.DB_PW,
|
|
PORT: process.env.DB_PORT,
|
|
DATABASE: process.env.DB_DATABASE,
|
|
CONNECT_TIMEOUT: process.env.DB_CONNECT_TIMEOUT,
|
|
RECONNECT_MAX_COUNT: process.env.DB_RECONNECT_MAX_COUNT
|
|
})
|
|
//#endregion
|
|
|
|
//#region postgresql connect
|
|
global._SPM.db.pgSql.Connect(function() {
|
|
// connected after
|
|
});
|
|
//#endregion
|
|
} |