5 changed files with 72 additions and 50 deletions
@ -0,0 +1,65 @@ |
|||||
|
'use strict'; |
||||
|
const request = require('superagent') |
||||
|
|
||||
|
class paasRequest { |
||||
|
constructor(root) { |
||||
|
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)); |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function factory (app, opts) { |
||||
|
if (opts.pssaRequest) { |
||||
|
try { |
||||
|
for (let r of opts.pssaRequest) { |
||||
|
if (r.name && r.root) { |
||||
|
app.fs[r.name] = new paasRequest(r.root) |
||||
|
} else { |
||||
|
throw 'opts.pssaRequest 参数错误!' |
||||
|
} |
||||
|
} |
||||
|
} catch (error) { |
||||
|
console.error(error) |
||||
|
process.exit(-1); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
module.exports = factory; |
@ -1,45 +0,0 @@ |
|||||
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)); |
|
||||
}) |
|
||||
} |
|
||||
} |
|
Loading…
Reference in new issue