const request = require('superagent') module.exports = class paasRequest { constructor(root, ctx) { this.root = root; } #buildUrl = (url) => { return `${this.root}/${url}`; } #resultHandler = (resolve, reject) => { return (err, res) => { if (err) { reject(err); } else { resolve(res.body); } }; } get = (url, { query, header = {} }) => { return new Promise((resolve, reject) => { request.get(this.#buildUrl(url)).set(header).query(query).end(this.#resultHandler(resolve, reject)); }) } post = (url, data, query) => { return new Promise((resolve, reject) => { request.post(this.#buildUrl(url, this.root)).set(header).query(query).send(data).end(this.#resultHandler(resolve, reject)); }) } put = (url, data) => { return new Promise((resolve, reject) => { request.put(this.#buildUrl(url)).set(setHeader()).send(data).end(this.#resultHandler(resolve, reject)); }) } delete = (url) => { return new Promise((resolve, reject) => { request.delete(this.#buildUrl(url)).set(setHeader()).end(this.#resultHandler(resolve, reject)); }) } }