UNPKG

sensible-sdk

Version:

Sensible-SDK

134 lines (133 loc) 5.35 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.ServerNet = void 0; const _1 = require("."); const Utils = require("./utils"); class ServerNet { static httpGet(url, params, cb, config) { let str = ""; let cnt = 0; for (var id in params) { if (cnt != 0) str += "&"; str += id + "=" + params[id]; cnt++; } if (str) { url += "?" + str; } config = config || {}; let headers = config.headers || {}; let timeout = config.timeout || _1.Net.timeout; let reqData = { uri: url, method: "GET", timeout, gzip: true, headers, }; const handlerCallback = (resolve, reject) => { require("request")(reqData, function (err, res, body) { if (!err) { if (res.statusCode >= 200 && res.statusCode < 300) { if (typeof body == "string") { try { body = JSON.parse(body); } catch (e) { } } resolve(body); } else { console.log("request failed.", reqData); reject(new Error(`RequestError: statuCode:${res.statusCode} statusMessage:${res.statusMessage} body:${body}`)); } } else { console.log("request failed.", reqData); reject(err); } }); }; if (typeof cb === "function") { handlerCallback((result) => Utils.invokeCallback(cb, null, result), (err) => Utils.invokeCallback(cb, err)); return; } return new Promise((resolve, reject) => { handlerCallback(resolve, reject); }); } static httpPost(url, params, cb, config) { return __awaiter(this, void 0, void 0, function* () { let postData; config = config || {}; let headers = config.headers || {}; let timeout = config.timeout || _1.Net.timeout; headers["content-type"] = headers["content-type"] || "application/json"; if (headers["content-type"] == "application/x-www-form-urlencoded") { let arr = []; for (var id in params) { arr.push(`${id}=${params[id]}`); } postData = arr.join("&"); } else if (headers["content-type"] == "text/plain") { postData = params; } else { postData = JSON.stringify(params); } if (headers["content-encoding"] == "gzip") { postData = yield Utils.gzip(Buffer.from(postData)); } const reqData = { uri: url, method: "POST", body: postData, headers: headers, timeout: timeout, gzip: true, }; const handlerCallback = (resolve, reject) => { require("request")(reqData, function (err, res, body) { if (!err) { if (res.statusCode >= 200 && res.statusCode < 300) { if (typeof body == "string") { try { body = JSON.parse(body); } catch (e) { } } resolve(body); } else { console.log("request failed.", reqData); reject(new Error(`RequestError: statuCode:${res.statusCode} statusMessage:${res.statusMessage} body:${body}`)); } } else { console.log("request failed.", reqData); reject(err); } }); }; if (typeof cb === "function") { handlerCallback((result) => Utils.invokeCallback(cb, null, result), (err) => Utils.invokeCallback(cb, err)); return; } return new Promise((resolve, reject) => { handlerCallback(resolve, reject); }); }); } } exports.ServerNet = ServerNet;