marketing-post-generator-mcp
Version:
A powerful MCP server for AI-powered marketing blog post generation with Claude integration
24 lines • 2.23 kB
TypeScript
import { Request, Response, NextFunction } from 'express';
import { RateLimitService, RateLimitConfig } from '../../services/rateLimit/RateLimitService';
export interface RateLimitMiddlewareConfig extends RateLimitConfig {
identifierExtractor?: (req: Request) => string;
onLimitReached?: (req: Request, res: Response, info: any) => void;
standardHeaders?: boolean;
legacyHeaders?: boolean;
message?: string;
}
export declare class RateLimitMiddleware {
private readonly rateLimitService;
private readonly config;
constructor(rateLimitService: RateLimitService, config: RateLimitMiddlewareConfig);
createMiddleware(): (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
private getClientIdentifier;
private setRateLimitHeaders;
}
export declare function createRateLimitMiddleware(rateLimitService: RateLimitService, config?: RateLimitMiddlewareConfig): (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
export declare function createStrictRateLimitMiddleware(rateLimitService: RateLimitService): (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
export declare function createGenerousRateLimitMiddleware(rateLimitService: RateLimitService): (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
export declare function createPathSpecificRateLimit(rateLimitService: RateLimitService, pathConfigs: Record<string, RateLimitMiddlewareConfig>): (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
export declare function createUserRateLimit(rateLimitService: RateLimitService, config?: RateLimitMiddlewareConfig): (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
export declare function createApiKeyRateLimit(rateLimitService: RateLimitService, config?: RateLimitMiddlewareConfig): (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
//# sourceMappingURL=RateLimitMiddleware.d.ts.map