Commit c84b163946469ad4c34c95c5bb7496f68f48136b
1 parent
6fc87409
Exists in
master
update data structure
Showing
10 changed files
with
73 additions
and
193 deletions
Show diff stats
.idea/express-project.iml
| ... | ... | @@ -1,12 +0,0 @@ |
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<module type="WEB_MODULE" version="4"> | |
| 3 | - <component name="NewModuleRootManager"> | |
| 4 | - <content url="file://$MODULE_DIR$"> | |
| 5 | - <excludeFolder url="file://$MODULE_DIR$/.tmp" /> | |
| 6 | - <excludeFolder url="file://$MODULE_DIR$/temp" /> | |
| 7 | - <excludeFolder url="file://$MODULE_DIR$/tmp" /> | |
| 8 | - </content> | |
| 9 | - <orderEntry type="inheritedJdk" /> | |
| 10 | - <orderEntry type="sourceFolder" forTests="false" /> | |
| 11 | - </component> | |
| 12 | -</module> | |
| 13 | 0 | \ No newline at end of file |
.idea/jsLibraryMappings.xml
.idea/markdown-navigator.xml
| ... | ... | @@ -1,72 +0,0 @@ |
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<project version="4"> | |
| 3 | - <component name="MarkdownProjectSettings"> | |
| 4 | - <PreviewSettings splitEditorLayout="SPLIT" splitEditorPreview="PREVIEW" useGrayscaleRendering="false" zoomFactor="1.0" maxImageWidth="0" showGitHubPageIfSynced="false" allowBrowsingInPreview="false" synchronizePreviewPosition="true" highlightPreviewType="NONE" highlightFadeOut="5" highlightOnTyping="true" synchronizeSourcePosition="true" verticallyAlignSourceAndPreviewSyncPosition="true" showSearchHighlightsInPreview="false" showSelectionInPreview="true"> | |
| 5 | - <PanelProvider> | |
| 6 | - <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.panel" providerName="Default - Swing" /> | |
| 7 | - </PanelProvider> | |
| 8 | - </PreviewSettings> | |
| 9 | - <ParserSettings gitHubSyntaxChange="false"> | |
| 10 | - <PegdownExtensions> | |
| 11 | - <option name="ABBREVIATIONS" value="false" /> | |
| 12 | - <option name="ANCHORLINKS" value="true" /> | |
| 13 | - <option name="ASIDE" value="false" /> | |
| 14 | - <option name="ATXHEADERSPACE" value="true" /> | |
| 15 | - <option name="AUTOLINKS" value="true" /> | |
| 16 | - <option name="DEFINITIONS" value="false" /> | |
| 17 | - <option name="DEFINITION_BREAK_DOUBLE_BLANK_LINE" value="false" /> | |
| 18 | - <option name="FENCED_CODE_BLOCKS" value="true" /> | |
| 19 | - <option name="FOOTNOTES" value="false" /> | |
| 20 | - <option name="HARDWRAPS" value="false" /> | |
| 21 | - <option name="HTML_DEEP_PARSER" value="false" /> | |
| 22 | - <option name="INSERTED" value="false" /> | |
| 23 | - <option name="QUOTES" value="false" /> | |
| 24 | - <option name="RELAXEDHRULES" value="true" /> | |
| 25 | - <option name="SMARTS" value="false" /> | |
| 26 | - <option name="STRIKETHROUGH" value="true" /> | |
| 27 | - <option name="SUBSCRIPT" value="false" /> | |
| 28 | - <option name="SUPERSCRIPT" value="false" /> | |
| 29 | - <option name="SUPPRESS_HTML_BLOCKS" value="false" /> | |
| 30 | - <option name="SUPPRESS_INLINE_HTML" value="false" /> | |
| 31 | - <option name="TABLES" value="true" /> | |
| 32 | - <option name="TASKLISTITEMS" value="true" /> | |
| 33 | - <option name="TOC" value="false" /> | |
| 34 | - <option name="WIKILINKS" value="true" /> | |
| 35 | - </PegdownExtensions> | |
| 36 | - <ParserOptions> | |
| 37 | - <option name="COMMONMARK_LISTS" value="true" /> | |
| 38 | - <option name="DUMMY" value="false" /> | |
| 39 | - <option name="EMOJI_SHORTCUTS" value="true" /> | |
| 40 | - <option name="FLEXMARK_FRONT_MATTER" value="false" /> | |
| 41 | - <option name="GFM_LOOSE_BLANK_LINE_AFTER_ITEM_PARA" value="false" /> | |
| 42 | - <option name="GFM_TABLE_RENDERING" value="true" /> | |
| 43 | - <option name="GITBOOK_URL_ENCODING" value="false" /> | |
| 44 | - <option name="GITHUB_EMOJI_URL" value="false" /> | |
| 45 | - <option name="GITHUB_LISTS" value="false" /> | |
| 46 | - <option name="GITHUB_WIKI_LINKS" value="true" /> | |
| 47 | - <option name="JEKYLL_FRONT_MATTER" value="false" /> | |
| 48 | - <option name="SIM_TOC_BLANK_LINE_SPACER" value="true" /> | |
| 49 | - </ParserOptions> | |
| 50 | - </ParserSettings> | |
| 51 | - <HtmlSettings headerTopEnabled="false" headerBottomEnabled="false" bodyTopEnabled="false" bodyBottomEnabled="false" embedUrlContent="false" addPageHeader="true"> | |
| 52 | - <GeneratorProvider> | |
| 53 | - <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.generator" providerName="Default Swing HTML Generator" /> | |
| 54 | - </GeneratorProvider> | |
| 55 | - <headerTop /> | |
| 56 | - <headerBottom /> | |
| 57 | - <bodyTop /> | |
| 58 | - <bodyBottom /> | |
| 59 | - </HtmlSettings> | |
| 60 | - <CssSettings previewScheme="UI_SCHEME" cssUri="" isCssUriEnabled="false" isCssTextEnabled="false" isDynamicPageWidth="true"> | |
| 61 | - <StylesheetProvider> | |
| 62 | - <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.css" providerName="Default Swing Stylesheet" /> | |
| 63 | - </StylesheetProvider> | |
| 64 | - <ScriptProviders /> | |
| 65 | - <cssText /> | |
| 66 | - </CssSettings> | |
| 67 | - <HtmlExportSettings updateOnSave="false" parentDir="$ProjectFileDir$" targetDir="$ProjectFileDir$" cssDir="" scriptDir="" plainHtml="false" imageDir="" copyLinkedImages="false" imageUniquifyType="0" targetExt="" useTargetExt="false" noCssNoScripts="false" linkToExportedHtml="true" exportOnSettingsChange="true" regenerateOnProjectOpen="false" /> | |
| 68 | - <LinkMapSettings> | |
| 69 | - <textMaps /> | |
| 70 | - </LinkMapSettings> | |
| 71 | - </component> | |
| 72 | -</project> | |
| 73 | 0 | \ No newline at end of file |
.idea/markdown-navigator/profiles_settings.xml
.idea/misc.xml
.idea/modules.xml
| ... | ... | @@ -1,8 +0,0 @@ |
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<project version="4"> | |
| 3 | - <component name="ProjectModuleManager"> | |
| 4 | - <modules> | |
| 5 | - <module fileurl="file://$PROJECT_DIR$/.idea/express-project.iml" filepath="$PROJECT_DIR$/.idea/express-project.iml" /> | |
| 6 | - </modules> | |
| 7 | - </component> | |
| 8 | -</project> | |
| 9 | 0 | \ No newline at end of file |
.idea/vcs.xml
app.config.json
app.js
| 1 | 1 | require('app-module-path').addPath(__dirname); |
| 2 | 2 | const express = require('express'); |
| 3 | 3 | const app = express(); |
| 4 | -const utils = require('utils/utils'); | |
| 5 | -// const conf = require('utils/config'); | |
| 6 | -// var log = require('./utils/log'); | |
| 7 | -// var constants = require('./utils/constants'); | |
| 8 | 4 | |
| 5 | + | |
| 6 | +//core | |
| 9 | 7 | var core = require('./utils/core'); |
| 10 | 8 | // var stats = core.stats; |
| 11 | 9 | var log = core.log; |
| 12 | 10 | var constants = core.constants; |
| 13 | 11 | var conf = core.config; |
| 14 | 12 | core.init(app); |
| 15 | -//init | |
| 16 | -// app.use(function (req, res, next) { | |
| 17 | -// core.init(app); | |
| 18 | -// next(); | |
| 19 | -// }); | |
| 13 | + | |
| 14 | +//helper | |
| 15 | +const utils = require('utils/utils'); | |
| 16 | + | |
| 17 | + | |
| 18 | +//setup help build message resBody | |
| 19 | +function logResponseBody(req, res, next) { | |
| 20 | + var oldWrite = res.write, | |
| 21 | + oldEnd = res.end; | |
| 22 | + | |
| 23 | + var chunks = []; | |
| 24 | + | |
| 25 | + res.write = function (chunk) { | |
| 26 | + chunks.push(chunk); | |
| 27 | + oldWrite.apply(res, arguments); | |
| 28 | + }; | |
| 29 | + | |
| 30 | + res.end = function (chunk) { | |
| 31 | + var body = ''; | |
| 32 | + | |
| 33 | + if (typeof chunk !== 'string' && !(chunk instanceof Buffer)) { | |
| 34 | + res["resBody"] = body ; | |
| 35 | + oldEnd.apply(res, arguments); | |
| 36 | + return ; | |
| 37 | + } | |
| 38 | + | |
| 39 | + if (!(chunk instanceof String || typeof chunk === 'string' ) ) | |
| 40 | + chunks.push(chunk); | |
| 41 | + try { | |
| 42 | + //console.dir(chunks); | |
| 43 | + body = chunks.length > 0? Buffer.concat(chunks).toString('utf8') :''; | |
| 44 | + } catch (error) { | |
| 45 | + logger.errorStack(error); | |
| 46 | + } | |
| 47 | + | |
| 48 | + res["resBody"] = body ; | |
| 49 | + | |
| 50 | + oldEnd.apply(res, arguments); | |
| 51 | + }; | |
| 52 | + | |
| 53 | + next(); | |
| 54 | +} | |
| 55 | +app.use(logResponseBody); | |
| 56 | + | |
| 57 | +// setup json body parser | |
| 58 | +const bodyParser = require('body-parser'); | |
| 59 | +app.use(bodyParser.json()); | |
| 60 | + | |
| 61 | +// Enable CORS | |
| 62 | +app.use(function (req, res, next) { | |
| 63 | + // add generated request-id to session | |
| 64 | + //req.session.reqId = req.id; | |
| 65 | + // Enable CORS | |
| 66 | + // res.header("Access-Control-Allow-Origin", "*"); | |
| 67 | + res.header("Access-Control-Allow-Credentials", "true"); | |
| 68 | + res.header("Access-Control-Allow-Origin", req.headers.origin); | |
| 69 | + res.header("Access-Control-Allow-Methods", "POST, PUT, GET, DELETE, OPTIONS"); | |
| 70 | + res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); | |
| 71 | + next(); | |
| 72 | +}); | |
| 73 | + | |
| 20 | 74 | |
| 21 | 75 | // console.log(conf.get('redis.host')); |
| 22 | 76 | |
| ... | ... | @@ -24,8 +78,6 @@ core.init(app); |
| 24 | 78 | const addRequestId = require('express-request-id')(); |
| 25 | 79 | app.use(addRequestId); |
| 26 | 80 | |
| 27 | - | |
| 28 | - | |
| 29 | 81 | // setup express-session with redis store |
| 30 | 82 | const session = require('express-session'); |
| 31 | 83 | // const RedisStore = require('connect-redis')(session); |
| ... | ... | @@ -46,51 +98,6 @@ const uuidV4 = require('uuid/v4'); |
| 46 | 98 | // cookie: { maxAge: 3600000 } |
| 47 | 99 | // })); |
| 48 | 100 | |
| 49 | - | |
| 50 | - | |
| 51 | -function logResponseBody(req, res, next) { | |
| 52 | - var oldWrite = res.write, | |
| 53 | - oldEnd = res.end; | |
| 54 | - | |
| 55 | - var chunks = []; | |
| 56 | - | |
| 57 | - res.write = function (chunk) { | |
| 58 | - chunks.push(chunk); | |
| 59 | - oldWrite.apply(res, arguments); | |
| 60 | - }; | |
| 61 | - | |
| 62 | - res.end = function (chunk) { | |
| 63 | - var body = ''; | |
| 64 | - | |
| 65 | - if (typeof chunk !== 'string' && !(chunk instanceof Buffer)) { | |
| 66 | - res["resBody"] = body ; | |
| 67 | - oldEnd.apply(res, arguments); | |
| 68 | - return ; | |
| 69 | - } | |
| 70 | - | |
| 71 | - if (!(chunk instanceof String || typeof chunk === 'string' ) ) | |
| 72 | - chunks.push(chunk); | |
| 73 | - try { | |
| 74 | - //console.dir(chunks); | |
| 75 | - body = chunks.length > 0? Buffer.concat(chunks).toString('utf8') :''; | |
| 76 | - } catch (error) { | |
| 77 | - logger.errorStack(error); | |
| 78 | - } | |
| 79 | - | |
| 80 | - res["resBody"] = body ; | |
| 81 | - | |
| 82 | - oldEnd.apply(res, arguments); | |
| 83 | - }; | |
| 84 | - | |
| 85 | - next(); | |
| 86 | - } | |
| 87 | - | |
| 88 | -app.use(logResponseBody); | |
| 89 | - | |
| 90 | -// setup json body parser | |
| 91 | -const bodyParser = require('body-parser'); | |
| 92 | -app.use(bodyParser.json()); | |
| 93 | - | |
| 94 | 101 | // setup logger |
| 95 | 102 | // const logger = require('utils/request-logger'); |
| 96 | 103 | |
| ... | ... | @@ -131,20 +138,8 @@ app.use(bodyParser.json()); |
| 131 | 138 | |
| 132 | 139 | |
| 133 | 140 | |
| 134 | -// var logg = require('./utils/cores/commonlog').init(conf.get("configlog"),app); | |
| 135 | -app.use(function (req, res, next) { | |
| 136 | - // add generated request-id to session | |
| 137 | - //req.session.reqId = req.id; | |
| 138 | - // Enable CORS | |
| 139 | - // res.header("Access-Control-Allow-Origin", "*"); | |
| 140 | - res.header("Access-Control-Allow-Credentials", "true"); | |
| 141 | - res.header("Access-Control-Allow-Origin", req.headers.origin); | |
| 142 | - res.header("Access-Control-Allow-Methods", "POST, PUT, GET, DELETE, OPTIONS"); | |
| 143 | - res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); | |
| 144 | - next(); | |
| 145 | -}); | |
| 146 | - | |
| 147 | 141 | |
| 142 | +//check header | |
| 148 | 143 | app.use(function( req, res, next ) { |
| 149 | 144 | if(req.headers["x-user"] && req.headers["usertoken"]) |
| 150 | 145 | next(); |
| ... | ... | @@ -153,27 +148,20 @@ app.use(function( req, res, next ) { |
| 153 | 148 | |
| 154 | 149 | }); |
| 155 | 150 | |
| 151 | +//prepare incomming | |
| 156 | 152 | app.use( function( req, res, next ) { |
| 157 | 153 | log.startEC(req); |
| 158 | 154 | req = utils.findQueryString(req); |
| 159 | 155 | next(); |
| 160 | 156 | }); |
| 161 | 157 | |
| 162 | - | |
| 163 | - | |
| 164 | - | |
| 165 | - | |
| 166 | - | |
| 167 | - | |
| 168 | - | |
| 169 | - | |
| 170 | 158 | // get BE api configs |
| 171 | 159 | const apiUrlPrefix = conf.get('apiUrlPrefix'); |
| 172 | 160 | |
| 173 | - | |
| 174 | 161 | let preference = require('./controllers/preference/index'); |
| 175 | 162 | app.use(apiUrlPrefix+'/preference', preference); |
| 176 | 163 | |
| 164 | +//prepare outgoing | |
| 177 | 165 | app.use( function( req, res, next ) { |
| 178 | 166 | if(req.res.resBody) |
| 179 | 167 | { | ... | ... |
utils/core.js
| ... | ... | @@ -3,9 +3,11 @@ var stats = require('./cores/stats'); |
| 3 | 3 | var constants = require('./cores/constants') |
| 4 | 4 | var config = require('./cores/config') |
| 5 | 5 | |
| 6 | +var logg = require('./cores/commonlog'); | |
| 7 | + | |
| 6 | 8 | var init = function(app) |
| 7 | 9 | { |
| 8 | - require('./cores/commonlog').init(config.get("configlog"),app); | |
| 10 | + logg.init(config.get("configlog"),app); | |
| 9 | 11 | } |
| 10 | 12 | |
| 11 | 13 | ... | ... |