mirror of
https://github.com/alibaba/anyproxy.git
synced 2025-05-10 06:48:26 +00:00
include fast-json to enhance the stringify of ws message
This commit is contained in:
parent
b49d66a8ee
commit
c2760e0bb0
@ -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);
|
||||||
|
@ -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) => {
|
||||||
|
@ -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",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user