How to send custom error from serverless function in node.js?

Viewed 15

I am trying to throw an error from my lambda function to catch as a response with a status code of the error.

But every time a make an API call from the postman I am getting message: Internal server error and status code 502. If a try to send a custom error from my catchHandler.

 const errorHandler = (
  errorCode = 500,
  errorApi = null,
  errorMessage = "server error"
) => {
  let parsedError = null;
  // body:JSON.stringify({ parsedError}) || JSON.stringify({ errorMessage}) || "server error",
  console.log({
    statusCode:errorCode,
    body: parsedError || errorMessage || "server error",
  })
  return {
    statusCode:errorCode,
    body: parsedError || errorMessage || "server error",
  };
};
module.exports.handler = async (event) => {
    try{
    await initialiseMongodbDatabase()
    const req = await lambdaRequestProcessor(event);
    req.OriginalUrl="/resourceLib/blog/";
    const res = await fetchSingleBlog(req,null);
   return responseHandler(res);
  } catch (error) {
    return errorHandler(error.errorCode, error.errorApi, error);
  }

event:

{
  "queryStringParameters": {

  }
}

Response(lambda test):

{
  "statusCode": 422,
  "body": {
    "errorCode": 422,
    "errorAPI": "/resourceLib/blog/",
    "error": "ValidationError: \"link\" is required"
  }
}

Response(POSTMAN):

{
    "message": "Internal server error"
}

How can I send the same response to POSTMAN?

0 Answers
Related