diff --git a/gentong.js b/gentong.js index fc0d811..88cb70a 100644 --- a/gentong.js +++ b/gentong.js @@ -241,15 +241,12 @@ function createServer() { response.end('OK'); - var key = getRedisKey(qs.ts); - redisClient.get(key, function(err, request_id) { - if (err) { - logger.warn('Error when requesting request id for ts:' + qs.ts + ' (' + key + ')', {redis_error: err}); - return; - } + if (qs.ref_id) { + callbackReport(qs.ref_id, response_code, message); + } else { + reverseHandlerByTs(qs.ts, response_code, message); + } - callbackReport(request_id, response_code, message); - }); }); httpServer.listen(config.h2h_out.listen_port, function() { @@ -257,6 +254,18 @@ function createServer() { }); } +function reverseHandlerByTs(ts, responseCode, message) { + var key = getRedisKey(ts); + redisClient.get(key, function(err, request_id) { + if (err) { + logger.warn('Error when requesting request id for ts:' + ts + ' (' + key + ')', {redis_error: err}); + return; + } + + callbackReport(request_id, responseCode, message); + }); +} + function splitSN(sn, _config) { var sn_pieces = sn.split(' ');