UNPKG

mcp-cve-intelligence-server-lite-test

Version:

Lite Model Context Protocol server for comprehensive CVE intelligence gathering with multi-source exploit discovery, designed for security professionals and cybersecurity researchers - Alpha Release

87 lines 2.67 kB
import { NextFunction, Request, Response } from 'express'; export interface ExtendedRequest extends Request { requestId?: string; sessionId?: string; [key: string]: unknown; } export interface RequestLogEntry { requestId: string; method: string; url: string; userAgent?: string; contentType?: string; contentLength?: number; sessionId?: string; clientIp: string; timestamp: string; duration?: number; statusCode?: number; responseSize?: number; error?: string; } export interface RequestLoggingOptions { logLevel: 'info' | 'debug' | 'verbose'; logHeaders: boolean; logBody: boolean; logResponse: boolean; excludePaths: string[]; includePerformanceMetrics: boolean; maxBodySize: number; } export declare class RequestLoggingMiddleware { private options; private requestStore; constructor(options?: Partial<RequestLoggingOptions>); /** * Express middleware for request logging */ middleware(): (req: Request, res: Response, next: NextFunction) => void; /** * Express error handling middleware for request logging */ errorMiddleware(): (error: Error, req: Request, res: Response, next: NextFunction) => void; /** * Get request metrics for monitoring */ getMetrics(): { activeRequests: number; totalRequests: number; averageResponseTime: number; }; /** * Get performance statistics for monitored requests */ getPerformanceStats(): { totalRequests: number; averageResponseTime: number; errorRate: number; statusCodeDistribution: Record<number, number>; }; /** * Clear old request entries to prevent memory leaks */ cleanupOldRequests(maxAge?: number): number; private logRequest; private logResponse; private logError; private getClientIp; } /** * Factory class for creating request logging middleware with observability */ export declare class RequestLoggingMiddlewareFactory { static createMiddleware(options?: Partial<RequestLoggingOptions>): RequestLoggingMiddleware; } /** * Factory function to create request logging middleware with default options */ export declare function createRequestLoggingMiddleware(options?: Partial<RequestLoggingOptions>): RequestLoggingMiddleware; /** * Pre-configured middleware for different environments */ export declare const requestLoggingPresets: { development: () => RequestLoggingMiddleware; production: () => RequestLoggingMiddleware; verbose: () => RequestLoggingMiddleware; }; //# sourceMappingURL=request-logging-middleware.d.ts.map