UNPKG

@foxpage/foxpage-manager

Version:

foxpage resource manager

51 lines (50 loc) 1.79 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRequest = void 0; const axios_1 = __importDefault(require("axios")); function handleError(err, detail) { const { api, method } = detail; return `[DATA SERVICE] [${api}]<${method}> Error: ${err.message}, detail: ${JSON.stringify(detail)}`; } /** * create request * @param opt request options * @returns {FoxpageRequest} */ const createRequest = (opt) => { return async function request(method, api, params) { try { const url = `${opt.host}${opt.path || ''}${api}`; const result = await (0, axios_1.default)({ method, url, params: method === 'get' ? params : undefined, data: method !== 'get' ? params : undefined, timeout: opt.timeout || 10 * 1000, }); const { data } = result; if ((data === null || data === void 0 ? void 0 : data.code) === 200) { return result.data.data; } else { throw new Error('code:' + data.code + ', msg:' + ((data === null || data === void 0 ? void 0 : data.msg) || 'fetched failed')); } } catch (e) { let err; const { message } = e; if (message) { err = new Error(message); } else { err = new Error(`request failed.`); } err.message = handleError(err, { host: opt.host, api, method, params }); throw err; } }; }; exports.createRequest = createRequest;