UNPKG

@tnhb/kits

Version:

TNHB Kits 请求工具 SDK By blak-kong

177 lines 6.24 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AxiosHttpKit = void 0; const axios_1 = require("axios"); const fs = require("fs"); const FormData = require("form-data"); const https = require("https"); const concat = require("concat-stream"); /** * @author blak-kong * @copyright blak-kong@foxmail.com * @description 使用 Axios 实现网络请求 */ class AxiosHttpKit { httpGet(url, options) { return new Promise((resolve, reject) => { axios_1.default .get(url, options) .then(response => { if (response.status === 200) { resolve(response.data); } else { reject(`error code ${response.status}`); } }) .catch(error => { reject(error); }); }); } httpGetToResponse(url, options) { return new Promise(resolve => { axios_1.default .get(url, options) .then(response => { resolve(response); }) .catch(error => { resolve(error.response); }); }); } httpPost(url, data, options) { return new Promise((resolve, reject) => { axios_1.default .post(url, data, options) .then(response => { if (response.status === 200) { resolve(response.data); } else { reject(`error code ${response.status}`); } }) .catch(error => { reject(error); }); }); } httpPostToResponse(url, data, options) { return new Promise(resolve => { axios_1.default .post(url, data, options) .then(response => { resolve(response); }) .catch(error => { resolve(error.response); }); }); } httpPutToResponse(url, data, options) { return new Promise(resolve => { axios_1.default .put(url, data, options) .then(response => { resolve(response); }) .catch(error => { resolve(error.response); }); }); } httpDeleteToResponse(url, options) { return new Promise(resolve => { axios_1.default .delete(url, options) .then(response => { resolve(response); }) .catch(error => { resolve(error.response); }); }); } httpPostWithCert(url, data, certFileContent, passphrase) { return new Promise((resolve, reject) => { let httpsAgent = new https.Agent({ pfx: certFileContent, passphrase }); axios_1.default .post(url, data, { httpsAgent }) .then(response => { if (response.status === 200) { resolve(response.data); } else { reject(`error code ${response.status}`); } }) .catch(error => { reject(error); }); }); } upload(url, filePath, params) { return new Promise((resolve, reject) => { let formData = new FormData(); formData.append('media', fs.createReadStream(filePath)); if (params) { formData.append('description', params); } formData.pipe(concat({ encoding: 'buffer' }, (data) => __awaiter(this, void 0, void 0, function* () { axios_1.default .post(url, data, { headers: { 'Content-Type': 'multipart/form-data' } }) .then(response => { if (response.status === 200) { resolve(response.data); } else { reject(`error code ${response.status}`); } }) .catch(error => { reject(error); }); }))); }); } uploadToResponse(url, filePath, params, options) { return new Promise(resolve => { let formData = new FormData(); formData.append('file', fs.createReadStream(filePath)); if (params) { formData.append('meta', params); } formData.pipe(concat({ encoding: 'buffer' }, (data) => __awaiter(this, void 0, void 0, function* () { axios_1.default .post(url, data, options) .then(response => { resolve(response); }) .catch(error => { console.log("uploadToResponse", error); resolve(error.response); }); }))); }); } } exports.AxiosHttpKit = AxiosHttpKit; //# sourceMappingURL=AxiosHttpKit.js.map