It seems to me that jsdom does not check status codes. 500 status codes are not considered HTTP Node module errors, so they are considered the correct jsdom response.
I suggest you first check the status code before using jsdom and pass jsdom to the body of your response, i.e.:
var jsdom = require('jsdom').jsdom; var request = require('request');
[*] Request module: https://github.com/mikeal/request
source share