Hirdetés
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Milyen cserélhető objektíves gépet?
- Kormányok / autós szimulátorok topikja
- RAM topik
- Fejhallgató erősítő és DAC topik
- Milyen alaplapot vegyek?
- Azonnali VGA-s kérdések órája
- OLED TV topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Autós kamerák
-
PROHARDVER!
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Jim-Y
veterán
Köszi,
Hát ezt egy kicsit későn láttam meg, közben előálltam egy béta verzióval saját kútfőből, de le fogom cserélni az általad linkelt elegánsabb megoldásra.
Azért, mert tudom, hogy így illik, a megoldás:
const { AuthError, LoginError } = require('blabla');
const THRESHOLD_OF_TRIES = 3; // 3 tries until drop
const DEFAULT_TIMEOUT = 300000; // 5mins in milliseconds
const cache = {};
module.exports = function * rateLimiter(next) {
const user = this.request.body.email;
if (cache[user] != null && cache[user].tries >= THRESHOLD_OF_TRIES && Date.now() < cache[user].dropUntil) {
this.throw(423); // Locked for 5 mins
}
else if (cache[user] != null && cache[user].tries >= THRESHOLD_OF_TRIES && Date.now() > cache[user].dropUntil) {
delete cache[user];
}
try {
yield next;
}
catch (err) {
if (err instanceof AuthError || err instanceof LoginError) {
if (!cache[user]) {
cache[user] = {
tries: 1,
dropUntil: null
};
}
else {
cache[user].tries++;
if (cache[user].tries >= THRESHOLD_OF_TRIES) {
cache[user].dropUntil = Date.now() + DEFAULT_TIMEOUT;
}
}
this.throw(err);
}
console.error(err);
}
};
Új hozzászólás Aktív témák
- Honor Magic V2 - origami
- VGA kibeszélő offtopik
- Mibe tegyem a megtakarításaimat?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- BMW topik
- PayPal
- Milyen cserélhető objektíves gépet?
- Kormányok / autós szimulátorok topikja
- Szívós, szép és kitartó az új OnePlus óra
- Debrecen és környéke adok-veszek-beszélgetek
- További aktív témák...
- Apple iPhone 14 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Evo 4TB Külső SSD
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Magyarország piacvezető szoftver webáruháza
- Mini Pc HP ProDesk 600 G2 G3 G4, Acer Vertion /// 6-8. gen //// i3 / i5 /// garancia / Bp., MPL, Fox
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


