mirror of
https://github.com/fosrl/pangolin.git
synced 2025-07-25 05:05:37 +02:00
16 lines
587 B
TypeScript
16 lines
587 B
TypeScript
import { MemoryStore, Store } from "express-rate-limit";
|
|
import config from "./config";
|
|
import redisManager from "@server/db/redis";
|
|
import { RedisStore } from "rate-limit-redis";
|
|
|
|
export function createStore(): Store {
|
|
let rateLimitStore: Store = new MemoryStore();
|
|
if (config.getRawConfig().flags?.enable_redis) {
|
|
const client = redisManager.client!;
|
|
rateLimitStore = new RedisStore({
|
|
sendCommand: async (command: string, ...args: string[]) =>
|
|
(await client.call(command, args)) as any
|
|
});
|
|
}
|
|
return rateLimitStore;
|
|
}
|