diff --git a/lib/storage.js b/lib/storage.js index 9fbbc17be..a1f7596c3 100644 --- a/lib/storage.js +++ b/lib/storage.js @@ -358,7 +358,7 @@ Storage.prototype._sync_package_with_uplinks = function(name, pkginfo, options, } up.get_package(name, _options, function(err, up_res, etag) { - if (err && err.message === "bad status code: 304") + if (err && err.status === 304) pkginfo._uplinks[up.upname].fetched = Date.now() if (err || !up_res) return cb(null, [err || new Error('no data')]) diff --git a/lib/up-storage.js b/lib/up-storage.js index 0176975f9..ac3d598df 100644 --- a/lib/up-storage.js +++ b/lib/up-storage.js @@ -248,7 +248,9 @@ Storage.prototype.get_package = function(name, options, callback) { })) } if (!(res.statusCode >= 200 && res.statusCode < 300)) { - return callback(new Error('bad status code: ' + res.statusCode)) + var error = new Error('bad status code: ' + res.statusCode) + error.status = res.statusCode + return callback(error) } callback(null, body, res.headers.etag) })