express jwt error handling in nest js graphql

I use express JWT with nest js and use it in gateway graphql.
I want to return error when my token has error including expiration error or invalid error after calling any graphql api.

Here is the code that I use express JWT in main file of my gateway:

app.use(
    graphqlUploadExpress(),
    expressJwt({
      secret: secretCallback,
      algorithms: ['HS256'],
      credentialsRequired: false,
    }),
  );

and the following code is my validation when token is invalid:

function (err, req, res, next) {
    const { ip, method, originalUrl, headers } = req;
    const requestMeta = { headers, ip, method, originalUrl, error: err };
    if (err.message === 'jwt expired') {
      Logger.error('Gateway JWT Expired', requestMeta);
      res.send(401, { code: 'gateway-token-expired', message: 'Token is expired' });
    } else if (err.code === 'invalid_token') {
      Logger.error('Gateway JWT Invalid', requestMeta);
      res.send(401, { code: 'gateway-token-invalid', message: 'Token is invalid' });
    } else {
      next(err);
    }
  };

I want that res.status(err.status).send({ message: err.message }); return the error message back to user.