UNPKG

erium

Version:

Erium is Discord Bot Library made in typescript

64 lines (63 loc) 2.5 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.RequestHandler = void 0; const axios_1 = __importDefault(require("axios")); class RequestHandler { constructor(client) { this.client = client; this.instance = axios_1.default.create({ // @ts-ignore baseURL: this.BASE_URL, timeout: 1000, headers: { "Authorization": client.token } }); } async request(method, url, data) { const response = await this.instance({ url: url, method: method, data: data }).catch(err => { switch (err.code) { case "400": return new Error("Bad Request (code: 400)" + method + url + data + err.code); break; case "401": return new Error("Unauthorized (code: 401)" + method + url + data + err.code); break; case "402": break; case "403": return new Error("Forbidden (code: 403)" + method + url + data + err.code); break; case "404": return new Error("Not Found (code: 404)" + method + url + data + err.code); break; case "405": return new Error("Method not Allowed (code: 405)" + method + url + data + err.code); break; case "429": return new Error("Too many Requests (code: 429)" + method + url + data + err.code); break; case "502": return new Error("Gateway Unavailable (code: 502)" + method + url + data + err.code); break; default: return new Error(`Unknown error Code (code: ${err.code})` + method + url + data + err.code); break; } }); if (response instanceof Error) return response; if (response) return response.data; else return new Error("no response from api" + method + url + data); } } exports.RequestHandler = RequestHandler;