in generate-attribution/generate-attribution-file.js [174:209]
async function getPackageRepo(package) {
let finalDoc = '';
const url = `https://${package}?go-get=1`
const options = await generateAuthorizationHeader()
return new Promise((resolve, reject) => {
const req = https.get(url, options, res => {
if (res.statusCode !== 200) {
if (package.startsWith('github.com')) {
// This is probably happening because github doesnt seem to return the go-import for sub packages
return resolve(parseRepoURL(`https://${package}`));
}
console.log('NOTICE: request to get package url return invalid response', res.statusCode, url);
resolve(`https://${package}`)
}
res.on('data', d => {
finalDoc += d;
})
res.on('end', () => {
const htmlDoc = HTMLParser.parse(finalDoc);
const metaTag = htmlDoc.querySelector('head meta[name=go-import]')
if (metaTag) {
resolve(parseRepoURL(metaTag.getAttribute('content')));
}
else {
resolve(`https://${package}`)
}
});
})
req.on('error', (err) => {
reject(err);
});
req.end();
});
}