Include a header in requests to AudiobookCovers

This commit is contained in:
Spenser Bushey 2024-02-04 16:00:25 -08:00
parent 66585c32d3
commit 5ced43ccde

View file

@ -1,23 +1,31 @@
const axios = require('axios') const axios = require("axios");
const Logger = require('../Logger') const Logger = require("../Logger");
class AudiobookCovers { class AudiobookCovers {
constructor() { } constructor() {}
async search(search) { async search(search) {
const url = `https://api.audiobookcovers.com/cover/ai-search` const url = "https://api.audiobookcovers.com/cover/ai-search";
const params = new URLSearchParams([['q', search]]) const request_options = {
const items = await axios.get(url, { params }).then((res) => { params: {
if (!res || !res.data) return [] q: search,
return res.data },
}).catch(error => { headers: {
Logger.error('[AudiobookCovers] Cover search error', error) "User-Agent": `Audiobookshelf/${global.ServerSettings.version}`,
return [] },
}) };
return items.map(item => ({ cover: item.versions.png.original })) const items = await axios
.get(url, request_options)
.then((res) => {
if (!res || !res.data) return [];
return res.data;
})
.catch((error) => {
Logger.error("[AudiobookCovers] Cover search error", error);
return [];
});
return items.map((item) => ({ cover: item.versions.png.original }));
} }
} }
module.exports = AudiobookCovers;
module.exports = AudiobookCovers