UNPKG

jcc_rpc

Version:
67 lines 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var util_1 = require("../util"); var axios = require("axios"); var CancelToken = axios.CancelToken; var service = axios.create({ timeout: 30000, withCredentials: true }); var isObject = function (obj) { return Object.prototype.toString.call(obj) === "[object Object]"; }; service.interceptors.request.use(function (config) { util_1.pendingTasks.cancel(config); config.cancelToken = new CancelToken(function (cancel) { var pathname = util_1.getPath(config); if (pathname) { var task = { cancel: cancel, pathname: pathname }; util_1.pendingTasks.add(task); } }); return config; }, function (error, response) { console.log(error); console.log(response); }); var handleResponse = function (res) { var response = {}; var data = res.data; var date = res.headers.date; if (isObject(data)) { if (data.code === "0") { response.result = true; } else { response.result = false; } Object.assign(response, data); } else { response.result = true; response.data = data; } // set server date response.date = date; return response; }; service.interceptors.response.use(function (response) { util_1.pendingTasks.remove(response.config); return handleResponse(response); }, function (error) { util_1.pendingTasks.remove(error.config); if (axios.isCancel(error)) { error.message = "pending request had been canceled"; } return { host: error.host, msg: error.message, port: error.port, result: false }; }); exports.default = service; //# sourceMappingURL=index.js.map