@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
46 lines (45 loc) • 1.45 kB
JavaScript
;
/**
* Shared error response formatting for HTTP interfaces
*
* Provides consistent error response format across MCP server and REST API.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatErrorResponse = formatErrorResponse;
exports.sendErrorResponse = sendErrorResponse;
/**
* Format an error response body in the standard REST API format.
*
* @param code - Error code (e.g., 'UNAUTHORIZED', 'INTERNAL_ERROR')
* @param message - Human-readable error message
* @param details - Optional additional details
* @returns Formatted error response body
*/
function formatErrorResponse(code, message, details) {
return {
success: false,
error: {
code,
message,
...(details !== undefined && { details })
}
};
}
/**
* Send an error response with consistent formatting.
*
* @param res - HTTP server response
* @param statusCode - HTTP status code
* @param code - Error code
* @param message - Human-readable error message
* @param details - Optional additional details
* @param headers - Optional additional HTTP headers (e.g., WWW-Authenticate)
*/
function sendErrorResponse(res, statusCode, code, message, details, headers) {
const body = formatErrorResponse(code, message, details);
res.writeHead(statusCode, {
'Content-Type': 'application/json',
...headers,
});
res.end(JSON.stringify(body));
}