File size: 903 Bytes
2c16c8c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import { Request, Response, NextFunction } from "express";
export const responseHandler = (req: Request, res: Response, next: NextFunction) => {
const startTime = Date.now();
res.success = (data: any, message = "Request successful") => {
const responseTime = Date.now() - startTime;
return res.status(200).json({
success: true,
message,
data,
timestamp: new Date().toISOString(),
responseTime: `${responseTime}ms`,
});
};
res.error = (statusCode: number, errorCode: string, errorMessage: string, error: any = null) => {
const responseTime = Date.now() - startTime;
return res.status(statusCode).json({
success: false,
code: errorCode,
errorMessage: errorMessage,
error: error,
timestamp: new Date().toISOString(),
responseTime: `${responseTime}ms`,
});
};
next();
};
|