From d3bac17fcbeb497efa93329908262d90a476e88c Mon Sep 17 00:00:00 2001 From: Lalit Mohan Kalpasi Date: Tue, 17 Jun 2025 07:49:20 +0000 Subject: [PATCH] code update recorded at: 17/06/25 07:49:20 --- handler.js | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/handler.js b/handler.js index 706a7e6..7aaec13 100644 --- a/handler.js +++ b/handler.js @@ -1,27 +1,38 @@ -// Define the handler function +// === Handler === export const handler = async (req, res) => { try { - console.log("Request strated") - const { request } = req.body; - const modified = preRequestHandlerWrapper(request); - res.status(200).json(modified); + const modified = processPreRequest(req.body?.request); + return res.status(200).json(modified); } catch (err) { - - if (err?.message.includes('Body content-type is not valid JSON')) { - res.status(err.statusCode).json({ - error: err.name, - message: err.message, - ...(err.details && { details: err.details }) - }); - } else { - res.status(500).json({ - error: err.name || 'InternalServerError', - message: err.message || 'Something went wrong', - }); - } + return handleError(err, res); } }; +// === Core Processing === +function processPreRequest(request) { + if (!request || typeof request !== 'object') { + throw new InvalidJsonContentTypeError('Missing or invalid request body', 400); + } + + const modified = preRequestHandlerWrapper(request); + return modified; +} + +// === Unified Error Handler === +function handleError(err, res) { + const isJsonTypeError = err instanceof InvalidJsonContentTypeError || + err?.message?.includes('Body content-type is not valid JSON'); + + const status = isJsonTypeError ? err.statusCode || 415 : 500; + + return res.status(status).json({ + error: err.name || 'InternalServerError', + message: err.message || 'Unexpected error occurred', + ...(err.details && { details: err.details }), + }); +} + + let currentContext = null; let currentRequest = null;