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