@shadow-dev/core
Version:
A modular core framework for Discord bot development, providing commands, buttons, menus, middleware, and more.
29 lines (28 loc) • 1.2 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.apiRequest = apiRequest;
const axios_1 = __importDefault(require("axios"));
async function apiRequest(url, opts = {}) {
try {
const config = {
method: opts.method || "GET", // Default to GET
url: url,
headers: {
"Content-Type": "application/json",
...(opts.headers || {}), // Merge user-provided headers
},
params: opts.queryParams, // Query parameters
data: opts.body || undefined, // Request body (only for POST/PUT/PATCH)
timeout: opts.timeout || 5000, // Default timeout is 5s
};
const response = await (0, axios_1.default)(config);
return response.data;
}
catch (error) {
console.error(`❌ API Request failed:`, error.response?.status, error.response?.data || error.message);
throw new Error(`API Request Failed: ${error.response?.status || "Unknown Status"} - ${error.message}`);
}
}
;