More detailed error output on registry fetch errors
This commit is contained in:
@ -3,6 +3,7 @@ const https = require("https");
|
|||||||
const gunzip = require("gunzip-maybe");
|
const gunzip = require("gunzip-maybe");
|
||||||
const tar = require("tar-stream");
|
const tar = require("tar-stream");
|
||||||
|
|
||||||
|
const bufferStream = require("./bufferStream");
|
||||||
const agent = require("./registryAgent");
|
const agent = require("./registryAgent");
|
||||||
|
|
||||||
function fetchNpmPackage(packageConfig) {
|
function fetchNpmPackage(packageConfig) {
|
||||||
@ -25,8 +26,17 @@ function fetchNpmPackage(packageConfig) {
|
|||||||
if (res.statusCode === 200) {
|
if (res.statusCode === 200) {
|
||||||
resolve(res.pipe(gunzip()).pipe(tar.extract()));
|
resolve(res.pipe(gunzip()).pipe(tar.extract()));
|
||||||
} else {
|
} else {
|
||||||
const spec = `${packageConfig.name}@${packageConfig.version}`;
|
bufferStream(res).then(data => {
|
||||||
reject(new Error(`Failed to fetch tarball for ${spec}`));
|
const spec = `${packageConfig.name}@${packageConfig.version}`;
|
||||||
|
const content = data.toString("utf-8");
|
||||||
|
const error = new Error(
|
||||||
|
`Failed to fetch tarball for ${spec}\nstatus: ${
|
||||||
|
res.statusCode
|
||||||
|
}\ndata: ${content}`
|
||||||
|
);
|
||||||
|
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.on("error", reject);
|
.on("error", reject);
|
||||||
|
|||||||
@ -37,7 +37,16 @@ function fetchNpmPackageInfo(packageName) {
|
|||||||
if (res.statusCode === 200) {
|
if (res.statusCode === 200) {
|
||||||
resolve(parseJSON(res));
|
resolve(parseJSON(res));
|
||||||
} else {
|
} else {
|
||||||
reject(new Error(`Failed to fetch info for ${packageName}`));
|
bufferStream(res).then(data => {
|
||||||
|
const content = data.toString("utf-8");
|
||||||
|
const error = new Error(
|
||||||
|
`Failed to fetch info for ${packageName}\nstatus: ${
|
||||||
|
res.statusCode
|
||||||
|
}\ndata: ${content}`
|
||||||
|
);
|
||||||
|
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.on("error", reject);
|
.on("error", reject);
|
||||||
|
|||||||
Reference in New Issue
Block a user