UNPKG

express-rate-limiter-ts

Version:

A powerful, flexible and modern rate limiter middleware for Express.js written in TypeScript.

64 lines (63 loc) 2.97 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DummyStore = void 0; // DummyStore: Gerçek limitleme yapmaz, sadece interface'in nasıl uygulanacağını gösterir. // Her fonksiyonun başına ve önemli satırlara açıklama eklenmiştir. class DummyStore { // Sayaç artırma fonksiyonu. Her zaman limiti aşmamış gibi döner. incr(key) { return __awaiter(this, void 0, void 0, function* () { // Her zaman 0 istek ve aşılmamış limit döndürülür. return { current: 0, // Şu anki istek sayısı remaining: 0, // Kalan istek (dummy olduğu için 0) resetTime: new Date(Date.now() + 60000), // 1 dakika sonra resetlenir gibi göster exceeded: false, // Hiçbir zaman limit aşılmaz }; }); } // Sayaç okuma fonksiyonu. Her zaman 0 döner. get(key) { return __awaiter(this, void 0, void 0, function* () { return { count: 0, resetTime: Date.now() + 60000 }; }); } // Sayaç sıfırlama fonksiyonu. Dummy olduğu için işlem yapmaz. reset(key) { return __awaiter(this, void 0, void 0, function* () { }); } // İstatistik kaydı. Dummy olduğu için işlem yapmaz. recordStat(route) { return __awaiter(this, void 0, void 0, function* () { }); } // İstatistikleri döndürür. Dummy olduğu için boş nesne döner. getStats() { return __awaiter(this, void 0, void 0, function* () { return {}; }); } // Ban fonksiyonu. Dummy olduğu için işlem yapmaz. ban(key, seconds, reason) { return __awaiter(this, void 0, void 0, function* () { }); } // Ban kontrolü. Her zaman banlı değilmiş gibi döner. isBanned(key) { return __awaiter(this, void 0, void 0, function* () { return { banned: false }; }); } // Banlı anahtarları döndürür. Dummy olduğu için boş nesne döner. getBanned() { return __awaiter(this, void 0, void 0, function* () { return {}; }); } // Ban kaldırma fonksiyonu. Dummy olduğu için işlem yapmaz. unban(key) { return __awaiter(this, void 0, void 0, function* () { }); } } exports.DummyStore = DummyStore;