include fast-json to enhance the stringify of ws message

This commit is contained in:
砚然 2018-01-28 12:43:42 +08:00
parent b49d66a8ee
commit c2760e0bb0
3 changed files with 21 additions and 2 deletions

View File

@ -7,8 +7,25 @@ const Datastore = require('nedb'),
logUtil = require('./log'), logUtil = require('./log'),
events = require('events'), events = require('events'),
iconv = require('iconv-lite'), iconv = require('iconv-lite'),
fastJson = require('fast-json-stringify'),
proxyUtil = require('./util'); proxyUtil = require('./util');
const wsMessageStingify = fastJson({
title: 'ws message stringify',
type: 'object',
properties: {
time: {
type: 'integer'
},
message: {
type: 'string'
},
isToServer: {
type: 'boolean'
}
}
});
const BODY_FILE_PRFIX = 'res_body_'; const BODY_FILE_PRFIX = 'res_body_';
const WS_MESSAGE_FILE_PRFIX = 'ws_message_'; const WS_MESSAGE_FILE_PRFIX = 'ws_message_';
const CACHE_DIR_PREFIX = 'cache_r'; const CACHE_DIR_PREFIX = 'cache_r';
@ -113,7 +130,8 @@ class Recorder extends events.EventEmitter {
if (id < 0) return; if (id < 0) return;
try { try {
const recordWsMessageFile = path.join(cachePath, WS_MESSAGE_FILE_PRFIX + id); const recordWsMessageFile = path.join(cachePath, WS_MESSAGE_FILE_PRFIX + id);
fs.appendFile(recordWsMessageFile, JSON.stringify(message) + ',', () => {});
fs.appendFile(recordWsMessageFile, wsMessageStingify(message) + ',', () => {});
} catch (e) { } catch (e) {
console.error(e); console.error(e);
logUtil.error(e.message + e.stack); logUtil.error(e.message + e.stack);

View File

@ -744,7 +744,7 @@ function getWsHandler(userRule, recorder, wsClient) {
/** /**
* consruct a message Record from message event * consruct a message Record from message event
* @param @required {event} messageEvent the event from websockt.onmessage * @param @required {event} messageEvent the event from websockt.onmessage
* @param @required {boolean} isIn whether the message is to or from server * @param @required {boolean} isToServer whether the message is to or from server
* *
*/ */
const recordMessage = (messageEvent, isToServer) => { const recordMessage = (messageEvent, isToServer) => {

View File

@ -21,6 +21,7 @@
"compression": "^1.4.4", "compression": "^1.4.4",
"es6-promise": "^3.3.1", "es6-promise": "^3.3.1",
"express": "^4.8.5", "express": "^4.8.5",
"fast-json-stringify": "^0.17.0",
"iconv-lite": "^0.4.6", "iconv-lite": "^0.4.6",
"inquirer": "^3.0.1", "inquirer": "^3.0.1",
"ip": "^0.3.2", "ip": "^0.3.2",