diff --git a/backend/novasonic-server.js b/backend/novasonic-server.js index 5b42721..e607278 100644 --- a/backend/novasonic-server.js +++ b/backend/novasonic-server.js @@ -488,7 +488,7 @@ function _spTrackItem(t, defaultAlbum, defaultArt, defaultAlbumArtist) { async function itunesProxy(url) { return new Promise((resolve, reject) => { - https.get(url, { headers: { 'User-Agent': 'iTunes/12.0' } }, res => { + https.get(url, res => { let d = ''; res.on('data', c => d += c); res.on('end', () => { try { resolve(JSON.parse(d)); } catch { resolve({}); } }); diff --git a/src/api.js b/src/api.js index 9be995b..49c801d 100644 --- a/src/api.js +++ b/src/api.js @@ -58,7 +58,8 @@ async function _iGet(proxyPath, directUrl) { const base = S.cfg.backendUrl; if (base) { const d = await _fetch(base + proxyPath); - if (d && Object.keys(d).length) return d; + if (d?.results?.length) return d; // proxy returned real results + if (d?.results !== undefined) return d; // proxy responded but iTunes had no results (don't double-fetch) } return directUrl ? _fetch(directUrl) : {}; }