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,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 | \ No newline at end of file | 0 | \ No newline at end of file |
.idea/jsLibraryMappings.xml
.idea/markdown-navigator.xml
@@ -1,72 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
.idea/markdown-navigator/profiles_settings.xml
.idea/misc.xml
.idea/modules.xml
@@ -1,8 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
.idea/vcs.xml
app.config.json
app.js
1 | require('app-module-path').addPath(__dirname); | 1 | require('app-module-path').addPath(__dirname); |
2 | const express = require('express'); | 2 | const express = require('express'); |
3 | const app = express(); | 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 | var core = require('./utils/core'); | 7 | var core = require('./utils/core'); |
10 | // var stats = core.stats; | 8 | // var stats = core.stats; |
11 | var log = core.log; | 9 | var log = core.log; |
12 | var constants = core.constants; | 10 | var constants = core.constants; |
13 | var conf = core.config; | 11 | var conf = core.config; |
14 | core.init(app); | 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 | // console.log(conf.get('redis.host')); | 75 | // console.log(conf.get('redis.host')); |
22 | 76 | ||
@@ -24,8 +78,6 @@ core.init(app); | @@ -24,8 +78,6 @@ core.init(app); | ||
24 | const addRequestId = require('express-request-id')(); | 78 | const addRequestId = require('express-request-id')(); |
25 | app.use(addRequestId); | 79 | app.use(addRequestId); |
26 | 80 | ||
27 | - | ||
28 | - | ||
29 | // setup express-session with redis store | 81 | // setup express-session with redis store |
30 | const session = require('express-session'); | 82 | const session = require('express-session'); |
31 | // const RedisStore = require('connect-redis')(session); | 83 | // const RedisStore = require('connect-redis')(session); |
@@ -46,51 +98,6 @@ const uuidV4 = require('uuid/v4'); | @@ -46,51 +98,6 @@ const uuidV4 = require('uuid/v4'); | ||
46 | // cookie: { maxAge: 3600000 } | 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 | // setup logger | 101 | // setup logger |
95 | // const logger = require('utils/request-logger'); | 102 | // const logger = require('utils/request-logger'); |
96 | 103 | ||
@@ -131,20 +138,8 @@ app.use(bodyParser.json()); | @@ -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 | app.use(function( req, res, next ) { | 143 | app.use(function( req, res, next ) { |
149 | if(req.headers["x-user"] && req.headers["usertoken"]) | 144 | if(req.headers["x-user"] && req.headers["usertoken"]) |
150 | next(); | 145 | next(); |
@@ -153,27 +148,20 @@ app.use(function( req, res, next ) { | @@ -153,27 +148,20 @@ app.use(function( req, res, next ) { | ||
153 | 148 | ||
154 | }); | 149 | }); |
155 | 150 | ||
151 | +//prepare incomming | ||
156 | app.use( function( req, res, next ) { | 152 | app.use( function( req, res, next ) { |
157 | log.startEC(req); | 153 | log.startEC(req); |
158 | req = utils.findQueryString(req); | 154 | req = utils.findQueryString(req); |
159 | next(); | 155 | next(); |
160 | }); | 156 | }); |
161 | 157 | ||
162 | - | ||
163 | - | ||
164 | - | ||
165 | - | ||
166 | - | ||
167 | - | ||
168 | - | ||
169 | - | ||
170 | // get BE api configs | 158 | // get BE api configs |
171 | const apiUrlPrefix = conf.get('apiUrlPrefix'); | 159 | const apiUrlPrefix = conf.get('apiUrlPrefix'); |
172 | 160 | ||
173 | - | ||
174 | let preference = require('./controllers/preference/index'); | 161 | let preference = require('./controllers/preference/index'); |
175 | app.use(apiUrlPrefix+'/preference', preference); | 162 | app.use(apiUrlPrefix+'/preference', preference); |
176 | 163 | ||
164 | +//prepare outgoing | ||
177 | app.use( function( req, res, next ) { | 165 | app.use( function( req, res, next ) { |
178 | if(req.res.resBody) | 166 | if(req.res.resBody) |
179 | { | 167 | { |
utils/core.js
@@ -3,9 +3,11 @@ var stats = require('./cores/stats'); | @@ -3,9 +3,11 @@ var stats = require('./cores/stats'); | ||
3 | var constants = require('./cores/constants') | 3 | var constants = require('./cores/constants') |
4 | var config = require('./cores/config') | 4 | var config = require('./cores/config') |
5 | 5 | ||
6 | +var logg = require('./cores/commonlog'); | ||
7 | + | ||
6 | var init = function(app) | 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 |