diff --git a/lib/https/index.js b/lib/https/index.js index 32ccbcf52..70e558026 100644 --- a/lib/https/index.js +++ b/lib/https/index.js @@ -47,7 +47,8 @@ function handleWebsocket(socket, clientIp, clientPort, callback, wss) { socket.reqId = util.getReqId(); socket.clientPort = clientPort || socket.remotePort; socket.rules = rules.initRules(socket); - util.parseRuleJson(socket.rules.urlParams, function(urlParams) { + var urlParamsRule = socket.rules.urlParams; + util.parseRuleJson(urlParamsRule, function(urlParams) { if (urlParams) { var _url = util.replaceUrlQueryString(socket.url, urlParams); if (socket.url !== _url) { @@ -55,6 +56,7 @@ function handleWebsocket(socket, clientIp, clientPort, callback, wss) { socket.fullUrl = util.getFullUrl(socket).replace('http', 'ws'); socket.curUrl = socket.fullUrl; socket.rules = rules.resolveRules(socket); + socket.rules.urlParams = urlParamsRule; if (socket.headerRulesMgr) { var _rules = socket.rules; socket.rules = socket.headerRulesMgr.resolveRules(socket); diff --git a/lib/inspectors/rules.js b/lib/inspectors/rules.js index 9dc35cbb0..b58b1f02c 100644 --- a/lib/inspectors/rules.js +++ b/lib/inspectors/rules.js @@ -15,13 +15,15 @@ function resolveRules(req, callback, rules) { } else { req.rules = rules.resolveRules(req); } - util.parseRuleJson(req.rules.urlParams, function(urlParams) { + var urlParamsRule = req.rules.urlParams; + util.parseRuleJson(urlParamsRule, function(urlParams) { if (urlParams) { var _url = util.replaceUrlQueryString(req.url, urlParams); if (req.url !== _url) { req.url = _url; req.curUrl = req.fullUrl = util.getFullUrl(req); req.rules = rules.resolveRules(req); + req.rules.urlParams = urlParamsRule; if (req.headerRulesMgr) { var _rules = req.rules; req.rules = req.headerRulesMgr.resolveRules(req);