0

I'm trying to overwrite the default error messages from loopback. That's how i'm doing:

server/middleware.json:

{
  "initial:before": {
    "loopback#favicon": {}
  },
  "initial": {
    "compression": {},
    "cors": {
      "params": {
        "origin": true,
        "credentials": true,
        "maxAge": 86400
      }
    },
    "helmet#xssFilter": {},
    "helmet#frameguard": {
      "params": [
        "deny"
      ]
    },
    "helmet#hsts": {
      "params": {
        "maxAge": 0,
        "includeSubdomains": true
      }
    },
    "helmet#hidePoweredBy": {},
    "helmet#ieNoOpen": {},
    "helmet#noSniff": {},
    "helmet#noCache": {
      "enabled": false
    }
  },
  "session": {},
  "auth": {},
  "parse": {},
  "routes": {
    "loopback#rest": {
      "paths": [
        "${restApiRoot}"
      ]
    }
  },
  "files": {},
  "final": {
    "loopback#urlNotFound": {}
  },
  "final:after": {
    "loopback#errorHandler": {},
    "errorHandler": {}
  }
}

server/middleware/error-handler.js:

module.exports = (error, req, res, next) => {
  console.log('a')
};

Before overwrite, i need first intercept the error message, but i'm not getting how...

Thanks!

1 Answers1

0

You can access your error message and overwrite it as below

module.exports = (error, req, res, next) => {
  console.log(error.message); // logs out original error message
  error.message = 'Your Custom Error message'; // this will overwrite the error message
  next(error); // this is important 
};

Other properties of the error object are

statusCode, name, stack & also details, messages if applicable