marketing-post-generator-mcp
Version:
A powerful MCP server for AI-powered marketing blog post generation with Claude integration
45 lines • 1.57 kB
JavaScript
import { v4 as uuidv4 } from 'uuid';
export class RequestIdMiddleware {
config;
constructor(config = {}) {
this.config = {
headerName: 'X-Request-ID',
generateId: () => uuidv4(),
setResponseHeader: true,
responseHeaderName: 'X-Request-ID',
...config,
};
}
createMiddleware() {
return (req, res, next) => {
// Get request ID from header or generate new one
let requestId = req.get(this.config.headerName);
if (!requestId) {
requestId = this.config.generateId();
}
// Add request ID to request object
req.requestId = requestId;
// Set response header if configured
if (this.config.setResponseHeader) {
res.set(this.config.responseHeaderName, requestId);
}
// Add request ID to response locals for use in other middleware
res.locals.requestId = requestId;
next();
};
}
}
// Helper function to create request ID middleware
export function createRequestIdMiddleware(config) {
const middleware = new RequestIdMiddleware(config);
return middleware.createMiddleware();
}
// Helper function to get request ID from request object
export function getRequestId(req) {
return req.requestId;
}
// Helper function to get request ID from response locals
export function getRequestIdFromResponse(res) {
return res.locals.requestId;
}
//# sourceMappingURL=RequestIdMiddleware.js.map