const httpLogger = ({ enableTimestamps = false }) => (req, res, next) => { // Capture the original res.end to log response status const originalEnd = res.end; res.end = function (chunk, encoding) { // Log the request method, status code, and path const statusColor = res.statusCode >= 400 ? "\x1b[31m" : "\x1b[32m"; // Red for errors, green for success console.log( `\x1b[32m[HTTP]\x1b[0m ${statusColor}${res.statusCode}\x1b[0m ${req.method} -> ${req.path} ${enableTimestamps ? `@ ${new Date().toLocaleTimeString("en-US", { hour12: true })}` : ""}`.trim() ); // Call the original end method return originalEnd.call(this, chunk, encoding); }; next(); }; module.exports = { httpLogger, };