sdg
Version:
pomelo ts
46 lines • 3.12 kB
JavaScript
;
/**
* Filter to keep request sequence.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.SerialFilter = void 0;
const tslib_1 = require("tslib");
const taskManager = tslib_1.__importStar(require("../../common/manager/taskManager"));
class SerialFilter {
constructor(timeout, timeOutResponse) {
this.timeout = timeout;
this.timeOutResponse = timeOutResponse;
}
/**
* request serialization after filter
*/
async before(routeRecord, msg, session) {
await new Promise((resolve, reject) => {
taskManager.addTask(session.id, function (task) {
session.__serialTask__ = task;
resolve(null);
}, () => {
console.error('[serial filter] msg timeout, msg:' + JSON.stringify(msg) + ' routeRecord:' + JSON.stringify(routeRecord));
if (this.timeOutResponse) {
resolve(this.timeOutResponse);
}
else {
reject(new Error('msg timeout:' + session.id + ' uid:' + (session.uid ? session.uid : '')));
}
}, this.timeout);
});
}
/**
* request serialization after filter
*/
after(routeRecord, msg, session) {
// let task = (session as any).__serialTask__;
// if (task) {
// if (!task.done() && !err) {
// err = new Error('task time out. msg:' + JSON.stringify(msg));
// }
// }
}
}
exports.SerialFilter = SerialFilter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZpbHRlcnMvaGFuZGxlci9zZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7O0FBRUgsc0ZBQWdFO0FBR2hFLE1BQWEsWUFBWTtJQUN2QixZQUFvQixPQUFlLEVBQVUsZUFBcUI7UUFBOUMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFNO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBeUIsRUFBRSxHQUFnQixFQUFFLE9BQWtDO1FBQ2pHLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDcEMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFVBQVUsSUFBSTtnQkFDM0MsT0FBZSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQixDQUFDLEVBQUUsR0FBRyxFQUFFO2dCQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUN6SCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7aUJBQy9CO3FCQUFNO29CQUNMLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzdGO1lBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUF5QixFQUFFLEdBQWdCLEVBQUUsT0FBa0M7UUFDMUYsOENBQThDO1FBQzlDLGNBQWM7UUFDZCxnQ0FBZ0M7UUFDaEMsb0VBQW9FO1FBQ3BFLE1BQU07UUFDTixJQUFJO0lBQ04sQ0FBQztDQUNGO0FBbENELG9DQWtDQyJ9