fix: use net.fetch instead of node native fetch

This commit is contained in:
JellyBrick
2023-09-01 21:22:21 +09:00
parent b67a4ed9bb
commit 3e3fdb3c3f
4 changed files with 11 additions and 11 deletions

View File

@ -1,4 +1,4 @@
const { shell } = require('electron');
const { shell, net } = require('electron');
const md5 = require('md5');
const { setOptions } = require('../../config/plugins');
@ -56,7 +56,7 @@ const createToken = async ({ apiKey, apiRoot, secret }) => {
format: 'json',
};
const apiSigature = createApiSig(data, secret);
let response = await fetch(`${apiRoot}${createQueryString(data, apiSigature)}`);
let response = await net.fetch(`${apiRoot}${createQueryString(data, apiSigature)}`);
response = await response.json();
return response?.token;
};
@ -78,7 +78,7 @@ const getAndSetSessionKey = async (config) => {
token: config.token,
};
const apiSignature = createApiSig(data, config.secret);
let res = await fetch(`${config.api_root}${createQueryString(data, apiSignature)}`);
let res = await net.fetch(`${config.api_root}${createQueryString(data, apiSignature)}`);
res = await res.json();
if (res.error) {
await authenticate(config);
@ -107,7 +107,7 @@ const postSongDataToAPI = async (songInfo, config, data) => {
};
postData.api_sig = createApiSig(postData, config.secret);
fetch('https://ws.audioscrobbler.com/2.0/', { method: 'POST', body: createFormData(postData) })
net.fetch('https://ws.audioscrobbler.com/2.0/', { method: 'POST', body: createFormData(postData) })
.catch((error) => {
if (error.response.data.error === 9) {
// Session key is invalid, so remove it from the config and reauthenticate

View File

@ -1,6 +1,6 @@
const { join } = require('node:path');
const { ipcMain } = require('electron');
const { ipcMain, net } = require('electron');
const is = require('electron-is');
const { convert } = require('html-to-text');
@ -59,7 +59,7 @@ const fetchFromGenius = async (metadata) => {
* @returns The lyrics of the first song found using the Genius-Lyrics API
*/
const getLyricsList = async (queryString) => {
const response = await fetch(
const response = await net.fetch(
`https://genius.com/api/search/multi?per_page=5&q=${encodeURIComponent(queryString)}`,
);
if (!response.ok) {
@ -88,7 +88,7 @@ const getLyricsList = async (queryString) => {
* @returns The lyrics of the song URL provided, null if none
*/
const getLyrics = async (url) => {
const response = await fetch(url);
const response = await net.fetch(url);
if (!response.ok) {
return null;
}

View File

@ -1,4 +1,4 @@
const { ipcMain } = require('electron');
const { ipcMain, net } = require('electron');
const registerCallback = require('../../providers/song-info');
@ -24,7 +24,7 @@ const post = async (data) => {
'Access-Control-Allow-Origin': '*',
};
const url = `http://127.0.0.1:${port}/`;
fetch(url, {
net.fetch(url, {
method: 'POST',
headers,
body: JSON.stringify({ data }),

View File

@ -1,4 +1,4 @@
const { ipcMain, nativeImage } = require('electron');
const { ipcMain, nativeImage, net } = require('electron');
const config = require('../config');
const { cache } = require('../providers/decorators');
@ -29,7 +29,7 @@ const getImage = cache(
* @returns {Promise<Electron.NativeImage>}
*/
async (src) => {
const result = await fetch(src);
const result = await net.fetch(src);
const buffer = await result.arrayBuffer();
const output = nativeImage.createFromBuffer(Buffer.from(buffer));
if (output.isEmpty() && !src.endsWith('.jpg') && src.includes('.jpg')) { // Fix hidden webp files (https://github.com/th-ch/youtube-music/issues/315)