ref!(github-like): use 'fetch' instead of '@root/request'

This commit is contained in:
AJ ONeal
2024-06-05 08:55:18 +00:00
parent 125ffa96dc
commit b1738741d1
3 changed files with 39 additions and 29 deletions

View File

@@ -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',

View File

@@ -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));
});
}

View File

@@ -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',