UNPKG

qms-js

Version:

A common library that can be used for fe and be

43 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // eslint-disable-next-line @typescript-eslint/no-var-requires var RandExp = require("randexp"); var helper_1 = require("../common/helper"); var reg = /[a-zA-Z]{2,6}-[1-9]{2,4}-[a-zA-Z]{2,6}/; var TOKEN_LEN = 12; var Antib = /** @class */ (function () { function Antib() { } Antib.generate = function (seconds) { if (seconds === void 0) { seconds = 60; } var exp = new RandExp(reg); var key = exp.gen(); var s = helper_1.default.random(TOKEN_LEN); return { key: key, value: s }; }; Antib.intercept = function (req, seconds) { if (seconds === void 0) { seconds = 60; } var opt = Antib.generate(seconds); req.headers[opt.key] = opt.value; }; Antib.guard = function (headers, seconds) { if (seconds === void 0) { seconds = 60; } var key = Object.keys(headers).find(function (k) { var exp = new RegExp(reg, 'i'); var matched = exp.test(k); return matched; }); if (!key) return false; var token = headers[key]; if (!token) return false; return true; }; return Antib; }()); exports.default = Antib; //# sourceMappingURL=index.js.map