UNPKG

omelop

Version:

[![Build Status](https://travis-ci.org/node-omelop/omelop.svg?branch=master)](https://travis-ci.org/node-omelop/omelop)

45 lines 3.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SerialFilter = void 0; /** * Filter to keep request sequence. */ const omelop_logger_1 = require("omelop-logger"); const taskManager = require("../../common/manager/taskManager"); const path = require("path"); let logger = (0, omelop_logger_1.getLogger)('omelop', path.basename(__filename)); class SerialFilter { constructor(timeout, timeOutResponse) { this.timeout = timeout; this.timeOutResponse = timeOutResponse; } /** * request serialization after filter */ before(routeRecord, msg, session, next) { // TODO SeqQueue内存泄露问题处理 需要释放serial.ts中创建的queue taskManager.addTask(session.id, function (task) { session.__serialTask__ = task; next(null); }, () => { logger.error('[serial filter] msg timeout, msg:' + JSON.stringify(msg) + ' routeRecord:' + JSON.stringify(routeRecord)); if (this.timeOutResponse) { next(new Error('msg timeout:' + session.id + ' uid:' + (session.uid ? session.uid : '')), this.timeOutResponse); } }, this.timeout); } /** * request serialization after filter */ after(err, routeRecord, msg, session, resp, next) { let task = session.__serialTask__; if (task) { if (!task.done() && !err) { err = new Error('task time out. msg:' + JSON.stringify(msg)); } } next(err); } } exports.SerialFilter = SerialFilter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2ZpbHRlcnMvaGFuZGxlci9zZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxpREFBMEM7QUFDMUMsZ0VBQWdFO0FBS2hFLDZCQUE2QjtBQUU3QixJQUFJLE1BQU0sR0FBRyxJQUFBLHlCQUFTLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUc1RCxNQUFhLFlBQVk7SUFDckIsWUFBb0IsT0FBZSxFQUFVLGVBQXFCO1FBQTlDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBTTtJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBd0IsRUFBRSxHQUFRLEVBQUUsT0FBaUMsRUFBRSxJQUFxQjtRQUMvRiwrQ0FBK0M7UUFDL0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFVBQVUsSUFBSTtZQUN6QyxPQUFlLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDZixDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ0osTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDeEgsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN0QixJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDbkg7UUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxHQUFVLEVBQUUsV0FBd0IsRUFBRSxHQUFRLEVBQUUsT0FBaUMsRUFBRSxJQUFTLEVBQUUsSUFBcUI7UUFDckgsSUFBSSxJQUFJLEdBQUksT0FBZSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RCLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEU7U0FDSjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7Q0FDSjtBQWhDRCxvQ0FnQ0MifQ==