You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

45 lines
1.2 KiB

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));
})
}
}