Hirdetés
- Okosóra és okoskiegészítő topik
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Yettel topik
- Jövő héten érkezik a Mate 80 széria
- Google Pixel topik
- Xiaomi 14 Ultra - Leica hercegnő
- Ezek a OnePlus 12 és 12R európai árai
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S23 Ultra - non plus ultra
-
Mobilarena
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
- Microsoft Office és Office 365 topic
- Okosóra és okoskiegészítő topik
- Számtech boltosok memoárjai, azaz amikor kiborulunk...
- Víz- gáz- és fűtésszerelés
- Renault, Dacia topik
- Fejhallgatós találkozó
- Kerékpárosok, bringások ide!
- BestBuy topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Cyberpunk 2077
- További aktív témák...
- iPhone 13 PRO MAX 256GB sierra blue KÁRTYAFÜGGETLEN! Gyönyörű! Akkumlátor 89%!
- Vadonatúj, bontatlan iPhone AIR 256GB space black KÁRTYAFÜGGETLEN! 1 év Apple garancia!
- iPhone 16 128GB pink KÁRTYAFÜGGETLEN! Gyönyörű! Akkumlátor 94%!
- Eladó egy Pixel 7a
- Apple iMac 27" 5K ( 2019 ) Core i9 / 1TB SSD / 40GB / Sequoia
- magyar billentyűzet - 162 - 163 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060
- Samsung Galaxy S25 Ultra Titanium Jetblack Titán dizájn, 120 Hz AMOLED, AI Pro kamera
- Új monitor állvány- elegáns megoldás a dupla A/4-es papírcsomag helyett - csak össze lett szerelve
- Xiaomi Redmi 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 Pro 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3942, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


