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
TypeScript
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