mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-05-05 00:06:37 +00:00
ref!(github-like): use 'fetch' instead of '@root/request'
This commit is contained in:
@@ -5,7 +5,7 @@ var GitHubish = require('./githubish.js');
|
||||
/**
|
||||
* Lists Gitea Releases (w/ uploaded assets)
|
||||
*
|
||||
* @param {any} request
|
||||
* @param {any} _request - deprecated
|
||||
* @param {String} owner
|
||||
* @param {String} repo
|
||||
* @param {String} baseurl
|
||||
@@ -13,7 +13,7 @@ var GitHubish = require('./githubish.js');
|
||||
* @param {String} [token]
|
||||
*/
|
||||
async function getAllReleases(
|
||||
request,
|
||||
_request,
|
||||
owner,
|
||||
repo,
|
||||
baseurl,
|
||||
@@ -22,7 +22,6 @@ async function getAllReleases(
|
||||
) {
|
||||
baseurl = `${baseurl}/api/v1`;
|
||||
let all = await GitHubish.getAllReleases({
|
||||
request,
|
||||
owner,
|
||||
repo,
|
||||
baseurl,
|
||||
@@ -36,7 +35,7 @@ module.exports = getAllReleases;
|
||||
|
||||
if (module === require.main) {
|
||||
getAllReleases(
|
||||
require('@root/request'),
|
||||
null,
|
||||
'root',
|
||||
'pathman',
|
||||
'https://git.rootprojects.org',
|
||||
|
||||
@@ -7,7 +7,7 @@ let GitHubish = require('./githubish.js');
|
||||
/**
|
||||
* Lists GitHub Releases (w/ uploaded assets)
|
||||
*
|
||||
* @param {any} request
|
||||
* @param {any} _request - deprecated
|
||||
* @param {String} owner
|
||||
* @param {String} repo
|
||||
* @param {String} [baseurl]
|
||||
@@ -15,7 +15,7 @@ let GitHubish = require('./githubish.js');
|
||||
* @param {String} [token]
|
||||
*/
|
||||
async function getAllReleases(
|
||||
request,
|
||||
_request,
|
||||
owner,
|
||||
repo,
|
||||
baseurl = 'https://api.github.com',
|
||||
@@ -23,7 +23,6 @@ async function getAllReleases(
|
||||
token = process.env.GITHUB_TOKEN || '',
|
||||
) {
|
||||
let all = await GitHubish.getAllReleases({
|
||||
request,
|
||||
owner,
|
||||
repo,
|
||||
baseurl,
|
||||
@@ -36,9 +35,7 @@ async function getAllReleases(
|
||||
module.exports = getAllReleases;
|
||||
|
||||
if (module === require.main) {
|
||||
getAllReleases(require('@root/request'), 'BurntSushi', 'ripgrep').then(
|
||||
function (all) {
|
||||
console.info(JSON.stringify(all, null, 2));
|
||||
},
|
||||
);
|
||||
getAllReleases(null, 'BurntSushi', 'ripgrep').then(function (all) {
|
||||
console.info(JSON.stringify(all, null, 2));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ let GitHubish = module.exports;
|
||||
* Lists GitHub-Like Releases (w/ uploaded assets)
|
||||
*
|
||||
* @param {Object} opts
|
||||
* @param {any} opts.request
|
||||
* @param {String} opts.owner
|
||||
* @param {String} opts.repo
|
||||
* @param {String} opts.baseurl
|
||||
@@ -14,7 +13,6 @@ let GitHubish = module.exports;
|
||||
* @param {String} [opts.token]
|
||||
*/
|
||||
GitHubish.getAllReleases = async function ({
|
||||
request,
|
||||
owner,
|
||||
repo,
|
||||
baseurl,
|
||||
@@ -31,26 +29,42 @@ GitHubish.getAllReleases = async function ({
|
||||
throw new Error('missing baseurl');
|
||||
}
|
||||
|
||||
var req = {
|
||||
url: `${baseurl}/repos/${owner}/${repo}/releases`,
|
||||
json: true,
|
||||
let url = `${baseurl}/repos/${owner}/${repo}/releases`;
|
||||
let opts = {
|
||||
headers: {
|
||||
'Content-Type': 'appplication/json',
|
||||
},
|
||||
};
|
||||
|
||||
if (username) {
|
||||
req.auth = {
|
||||
user: username,
|
||||
pass: token,
|
||||
};
|
||||
if (token) {
|
||||
let userpass = `${username}:${token}`;
|
||||
let basicAuth = btoa(userpass);
|
||||
Object.assign(opts.headers, {
|
||||
Authentication: `Basic ${basicAuth}`,
|
||||
});
|
||||
}
|
||||
|
||||
let resp = await request(req);
|
||||
let resp = await fetch(url, opts);
|
||||
if (!resp.ok) {
|
||||
console.error('Bad Resp Headers:', resp.headers);
|
||||
console.error('Bad Resp Body:', resp.body);
|
||||
throw new Error('the elusive releases BOOGEYMAN strikes again');
|
||||
let headers = Array.from(resp.headers);
|
||||
console.error('Bad Resp Headers:', headers);
|
||||
let text = await resp.text();
|
||||
console.error('Bad Resp Body:', text);
|
||||
let msg = `failed to fetch releases from '${baseurl}' with user '${username}'`;
|
||||
throw new Error(msg);
|
||||
}
|
||||
|
||||
let respText = await resp.text();
|
||||
let gHubResp;
|
||||
try {
|
||||
gHubResp = JSON.parse(respText);
|
||||
} catch (e) {
|
||||
console.error('Bad Resp JSON:', respText);
|
||||
console.error(e.message);
|
||||
let msg = `failed to parse releases from '${baseurl}' with user '${username}'`;
|
||||
throw new Error(msg);
|
||||
}
|
||||
|
||||
let gHubResp = resp.body;
|
||||
let all = {
|
||||
releases: [],
|
||||
// todo make this ':baseurl' + ':releasename'
|
||||
@@ -63,7 +77,8 @@ GitHubish.getAllReleases = async function ({
|
||||
console.error(e.message);
|
||||
console.error('Error Headers:', resp.headers);
|
||||
console.error('Error Body:', resp.body);
|
||||
throw e;
|
||||
let msg = `failed to transform releases from '${baseurl}' with user '${username}'`;
|
||||
throw new Error(msg);
|
||||
}
|
||||
|
||||
function transformReleases(release) {
|
||||
@@ -100,7 +115,6 @@ GitHubish.getAllReleases = async function ({
|
||||
|
||||
if (module === require.main) {
|
||||
GitHubish.getAllReleases({
|
||||
request: require('@root/request'),
|
||||
owner: 'BurntSushi',
|
||||
repo: 'ripgrep',
|
||||
baseurl: 'https://api.github.com',
|
||||
|
||||
Reference in New Issue
Block a user