qms-js
Version:
A common library that can be used for fe and be
43 lines • 1.39 kB
JavaScript
;
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