Hirdetés
- Blu-ray lejátszók
- Milyen billentyűzetet vegyek?
- Ami Kínában OnePlus Pad Pro, az errefelé mégis csak Pad 2 lett
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Ilyet se látunk minden nap, már füstölt a GeForce, de a játék még futott
- Milyen egeret válasszak?
- Melyik tápegységet vegyem?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Fejhallgató erősítő és DAC topik
- Androidos tablet topic
-
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
- eBay
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Kerékpárosok, bringások ide!
- Okos Otthon / Smart Home
- Blu-ray lejátszók
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- Robotporszívók
- Milyen billentyűzetet vegyek?
- Ami Kínában OnePlus Pad Pro, az errefelé mégis csak Pad 2 lett
- Highguard - Nagy érdeklődéssel indult, de vannak gondok vele
- További aktív témák...
- 185 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
- BESZÁMÍTÁS! Sony PlayStation 4 PRO 1TB fekete játékkonzol garanciával hibátlan működéssel
- iPhone 14 Pro Max 128GB 100% (1év Garancia)
- Apple iPhone 12 Mini 128 GB Fekete 1 év Garancia Beszámítás Házhozszállítás
- Dell Latitude 5530 i7-1255U 16GB 512GB 15.6" FHD TouchScreen Nagyakksis! 1 év teljeskörű garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


