UNPKG

omelop

Version:

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

36 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ToobusyFilter = void 0; /** * Filter for toobusy. * if the process is toobusy, just skip the new request */ const omelop_logger_1 = require("omelop-logger"); let conLogger = (0, omelop_logger_1.getLogger)('con-log', __filename); let toobusy = null; let DEFAULT_MAXLAG = 70; class ToobusyFilter { constructor(maxLag = DEFAULT_MAXLAG) { try { toobusy = require('toobusy'); } catch (e) { } if (!!toobusy) { toobusy.maxLag(maxLag); } } before(routeRecord, msg, session, next) { if (!!toobusy && toobusy()) { conLogger.warn('[toobusy] reject request msg: ' + msg); let err = new Error('Server toobusy!'); err.code = 500; next(err); } else { next(null); } } } exports.ToobusyFilter = ToobusyFilter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vYnVzeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9maWx0ZXJzL2hhbmRsZXIvdG9vYnVzeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7O0dBR0c7QUFDSCxpREFBMEM7QUFNMUMsSUFBSSxTQUFTLEdBQUcsSUFBQSx5QkFBUyxFQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNqRCxJQUFJLE9BQU8sR0FBUSxJQUFJLENBQUM7QUFDeEIsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBR3hCLE1BQWEsYUFBYTtJQUN0QixZQUFZLE1BQU0sR0FBRyxjQUFjO1FBQy9CLElBQUk7WUFDQSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hDO1FBQUMsT0FBTyxDQUFDLEVBQUU7U0FDWDtRQUNELElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQXdCLEVBQUUsR0FBUSxFQUFFLE9BQWlDLEVBQUUsSUFBcUI7UUFDL0YsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sRUFBRSxFQUFFO1lBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDdkQsSUFBSSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN0QyxHQUFXLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDYjthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2Q7SUFDTCxDQUFDO0NBQ0o7QUFyQkQsc0NBcUJDIn0=