UNPKG

scryfall-client

Version:
37 lines (36 loc) 1.22 kB
import wrapScryfallResponse from "../../lib/wrap-scryfall-response"; import getUrl from "./get-url"; import enqueTask from "./enque-task"; import sendRequest from "./send-request"; import ScryfallError from "../../models/scryfall-error"; export default function sendRequestToApi(options) { var url = getUrl(options.endpoint, options.query); return enqueTask(function () { return sendRequest({ url: url, method: options.method, body: options.body, }); }) .then(function (response) { try { return wrapScryfallResponse(response); } catch (err) { return Promise.reject(new ScryfallError({ message: "Something went wrong when wrapping the response from Scryfall", thrownError: err, })); } }) .catch(function (err) { if (!(err instanceof ScryfallError)) { err = new ScryfallError({ message: "An unexpected error occurred when requesting resources from Scryfall.", status: err.status, originalError: err, }); } return Promise.reject(err); }); }