source: node_modules/prebuild-install/asset.js@ 62b2964

finki-main main
Last change on this file since 62b2964 was 81bc7da, checked in by Klimentina Efremova <klimentina08642@…>, 3 months ago

Initial commit

  • Property mode set to 100644
File size: 1.1 KB
Line 
1const get = require('simple-get')
2const util = require('./util')
3const proxy = require('./proxy')
4
5function findAssetId (opts, cb) {
6 const downloadUrl = util.getDownloadUrl(opts)
7 const apiUrl = util.getApiUrl(opts)
8 const log = opts.log || util.noopLogger
9
10 log.http('request', 'GET ' + apiUrl)
11 const reqOpts = proxy({
12 url: apiUrl,
13 json: true,
14 headers: {
15 'User-Agent': 'simple-get',
16 Authorization: 'token ' + opts.token
17 }
18 }, opts)
19
20 const req = get.concat(reqOpts, function (err, res, data) {
21 if (err) return cb(err)
22 log.http(res.statusCode, apiUrl)
23 if (res.statusCode !== 200) return cb(err)
24
25 // Find asset id in release
26 for (const release of data) {
27 if (release.tag_name === opts['tag-prefix'] + opts.pkg.version) {
28 for (const asset of release.assets) {
29 if (asset.browser_download_url === downloadUrl) {
30 return cb(null, asset.id)
31 }
32 }
33 }
34 }
35
36 cb(new Error('Could not find GitHub release for version'))
37 })
38
39 req.setTimeout(30 * 1000, function () {
40 req.abort()
41 })
42}
43
44module.exports = findAssetId
Note: See TracBrowser for help on using the repository browser.