UNPKG

vinmonopolet-ts

Version:

Extracts information on products, categories and stores from Vinmonopolet

36 lines (35 loc) 1.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.GET = void 0; const VinmonopoletError_1 = __importDefault(require("../exceptions/VinmonopoletError")); async function GET(url, queryparams) { try { const urlSearchParams = queryparams?.toString() ?? ""; const headers = { "Content-Type": "Application/json", }; if (process.env.USER_AGENT) { headers["User-Agent"] = process.env.USER_AGENT; } const response = await fetch(url + "?" + urlSearchParams, { headers }); if (!response.ok) { const parsedErrorResponse = await response.text(); throw new VinmonopoletError_1.default(parsedErrorResponse != "" ? parsedErrorResponse : `Unable to get ${url}?${urlSearchParams}: http error ${response.status}`, response.status); } const responseJson = (await response.json()); return responseJson; } catch (error) { if (error instanceof VinmonopoletError_1.default) throw error; if (error instanceof Error) throw new VinmonopoletError_1.default(`Network error fetching ${url}: ${error.message}`); throw new VinmonopoletError_1.default(`Network error fetching ${url}: ${error}`); } } exports.GET = GET;