Search code examples
node.jsexpresshttp-status-codes

How to specify HTTP error code using Express.js?


I have tried:

app.get('/', function(req, res, next) {
    var e = new Error('error message');
    e.status = 400;
    next(e);
});

and:

app.get('/', function(req, res, next) {
    res.statusCode = 400;
    var e = new Error('error message');
    next(e);
});

but always an error code of 500 is announced.


Solution

  • Per the Express (Version 4+) docs, you can use:

    res.status(400);
    res.send('None shall pass');
    

    http://expressjs.com/4x/api.html#res.status

    <=3.8

    res.statusCode = 401;
    res.send('None shall pass');