diff --git a/lib/client.js b/lib/client.js index 0e2b5b1..29d1a6c 100644 --- a/lib/client.js +++ b/lib/client.js @@ -37,7 +37,7 @@ var SparqlClient = module.exports = function (endpoint, options) { var responseHandler = function responseHandler(error, response, responseBody, callback) { var continuation = emptyFn; - if (error || response.statusCode >= 300) { + if (error) { var err; if (error && error.code == "ECONNREFUSED") { @@ -51,8 +51,14 @@ var SparqlClient = module.exports = function (endpoint, options) { new Error(err), null ], that); - } - else { + } else if (response.statusCode >= 300) { + var err; + err = response.statusCode + ": " + response.statusMessage; + continuation = nextTick(callback, [ + new Error(err), + null + ], that); + } else { try { responseBody = JSON.parse(responseBody); }