From c84b163946469ad4c34c95c5bb7496f68f48136b Mon Sep 17 00:00:00 2001 From: Sumate Kongpui Date: Wed, 24 Oct 2018 13:14:45 +0700 Subject: [PATCH] update data structure --- .idea/express-project.iml | 12 ------------ .idea/jsLibraryMappings.xml | 6 ------ .idea/markdown-navigator.xml | 72 ------------------------------------------------------------------------ .idea/markdown-navigator/profiles_settings.xml | 3 --- .idea/misc.xml | 6 ------ .idea/modules.xml | 8 -------- .idea/vcs.xml | 6 ------ app.config.json | 5 ++++- app.js | 144 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------ utils/core.js | 4 +++- 10 files changed, 73 insertions(+), 193 deletions(-) delete mode 100644 .idea/express-project.iml delete mode 100644 .idea/jsLibraryMappings.xml delete mode 100644 .idea/markdown-navigator.xml delete mode 100644 .idea/markdown-navigator/profiles_settings.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml diff --git a/.idea/express-project.iml b/.idea/express-project.iml deleted file mode 100644 index 24643cc..0000000 --- a/.idea/express-project.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml deleted file mode 100644 index d23208f..0000000 --- a/.idea/jsLibraryMappings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml deleted file mode 100644 index d819570..0000000 --- a/.idea/markdown-navigator.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/markdown-navigator/profiles_settings.xml b/.idea/markdown-navigator/profiles_settings.xml deleted file mode 100644 index 57927c5..0000000 --- a/.idea/markdown-navigator/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 28a804d..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index fb4f5d5..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app.config.json b/app.config.json index 8a5bd69..240254f 100644 --- a/app.config.json +++ b/app.config.json @@ -49,6 +49,9 @@ }, "dev": { - } + }, + "gentest": { + + } } diff --git a/app.js b/app.js index e632e4d..a20c97f 100644 --- a/app.js +++ b/app.js @@ -1,22 +1,76 @@ require('app-module-path').addPath(__dirname); const express = require('express'); const app = express(); -const utils = require('utils/utils'); -// const conf = require('utils/config'); -// var log = require('./utils/log'); -// var constants = require('./utils/constants'); + +//core var core = require('./utils/core'); // var stats = core.stats; var log = core.log; var constants = core.constants; var conf = core.config; core.init(app); -//init -// app.use(function (req, res, next) { -// core.init(app); -// next(); -// }); + +//helper +const utils = require('utils/utils'); + + +//setup help build message resBody +function logResponseBody(req, res, next) { + var oldWrite = res.write, + oldEnd = res.end; + + var chunks = []; + + res.write = function (chunk) { + chunks.push(chunk); + oldWrite.apply(res, arguments); + }; + + res.end = function (chunk) { + var body = ''; + + if (typeof chunk !== 'string' && !(chunk instanceof Buffer)) { + res["resBody"] = body ; + oldEnd.apply(res, arguments); + return ; + } + + if (!(chunk instanceof String || typeof chunk === 'string' ) ) + chunks.push(chunk); + try { + //console.dir(chunks); + body = chunks.length > 0? Buffer.concat(chunks).toString('utf8') :''; + } catch (error) { + logger.errorStack(error); + } + + res["resBody"] = body ; + + oldEnd.apply(res, arguments); + }; + + next(); +} +app.use(logResponseBody); + +// setup json body parser +const bodyParser = require('body-parser'); +app.use(bodyParser.json()); + +// Enable CORS +app.use(function (req, res, next) { + // add generated request-id to session + //req.session.reqId = req.id; + // Enable CORS + // res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Credentials", "true"); + res.header("Access-Control-Allow-Origin", req.headers.origin); + res.header("Access-Control-Allow-Methods", "POST, PUT, GET, DELETE, OPTIONS"); + res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); + next(); +}); + // console.log(conf.get('redis.host')); @@ -24,8 +78,6 @@ core.init(app); const addRequestId = require('express-request-id')(); app.use(addRequestId); - - // setup express-session with redis store const session = require('express-session'); // const RedisStore = require('connect-redis')(session); @@ -46,51 +98,6 @@ const uuidV4 = require('uuid/v4'); // cookie: { maxAge: 3600000 } // })); - - -function logResponseBody(req, res, next) { - var oldWrite = res.write, - oldEnd = res.end; - - var chunks = []; - - res.write = function (chunk) { - chunks.push(chunk); - oldWrite.apply(res, arguments); - }; - - res.end = function (chunk) { - var body = ''; - - if (typeof chunk !== 'string' && !(chunk instanceof Buffer)) { - res["resBody"] = body ; - oldEnd.apply(res, arguments); - return ; - } - - if (!(chunk instanceof String || typeof chunk === 'string' ) ) - chunks.push(chunk); - try { - //console.dir(chunks); - body = chunks.length > 0? Buffer.concat(chunks).toString('utf8') :''; - } catch (error) { - logger.errorStack(error); - } - - res["resBody"] = body ; - - oldEnd.apply(res, arguments); - }; - - next(); - } - -app.use(logResponseBody); - -// setup json body parser -const bodyParser = require('body-parser'); -app.use(bodyParser.json()); - // setup logger // const logger = require('utils/request-logger'); @@ -131,20 +138,8 @@ app.use(bodyParser.json()); -// var logg = require('./utils/cores/commonlog').init(conf.get("configlog"),app); -app.use(function (req, res, next) { - // add generated request-id to session - //req.session.reqId = req.id; - // Enable CORS - // res.header("Access-Control-Allow-Origin", "*"); - res.header("Access-Control-Allow-Credentials", "true"); - res.header("Access-Control-Allow-Origin", req.headers.origin); - res.header("Access-Control-Allow-Methods", "POST, PUT, GET, DELETE, OPTIONS"); - res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); - next(); -}); - +//check header app.use(function( req, res, next ) { if(req.headers["x-user"] && req.headers["usertoken"]) next(); @@ -153,27 +148,20 @@ app.use(function( req, res, next ) { }); +//prepare incomming app.use( function( req, res, next ) { log.startEC(req); req = utils.findQueryString(req); next(); }); - - - - - - - - // get BE api configs const apiUrlPrefix = conf.get('apiUrlPrefix'); - let preference = require('./controllers/preference/index'); app.use(apiUrlPrefix+'/preference', preference); +//prepare outgoing app.use( function( req, res, next ) { if(req.res.resBody) { diff --git a/utils/core.js b/utils/core.js index 77f0b11..75271f9 100644 --- a/utils/core.js +++ b/utils/core.js @@ -3,9 +3,11 @@ var stats = require('./cores/stats'); var constants = require('./cores/constants') var config = require('./cores/config') +var logg = require('./cores/commonlog'); + var init = function(app) { - require('./cores/commonlog').init(config.get("configlog"),app); + logg.init(config.get("configlog"),app); } -- libgit2 0.21.2