Skip to main content
Glama
auditMiddleware.ts1.16 kB
import { Request, Response, NextFunction } from 'express'; import { Logger } from '../utils/Logger'; const logger = new Logger('./logs/audit.log'); export class AuditMiddleware { /** * Audit log middleware * @param req Request * @param res Response * @param next Next function */ public static auditLog(req: Request, res: Response, next: NextFunction): void { const startTime = Date.now(); // Log request logger.info('Request received', { method: req.method, url: req.url, ip: req.ip, userAgent: req.get('User-Agent'), sessionId: req.headers['x-session-id'] || 'unknown' }); // Capture response const originalSend = res.send; res.send = function(body: any) { const endTime = Date.now(); const duration = endTime - startTime; // Log response logger.info('Response sent', { method: req.method, url: req.url, statusCode: res.statusCode, duration: `${duration}ms`, sessionId: req.headers['x-session-id'] || 'unknown' }); return originalSend.call(this, body); }; next(); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nom-nom-hub/fullstack-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server