1 | var sa = require("superagent");
|
2 |
|
3 | module.exports = function(ops, onRequest) {
|
4 | var method = ops.method.toLowerCase();
|
5 |
|
6 | var r = sa[{
|
7 | delete: "del"
|
8 | }[method] || method](ops.uri);
|
9 |
|
10 | if (ops.form) {
|
11 | r.type("form");
|
12 | }
|
13 |
|
14 | if (ops.headers) {
|
15 | for (var key in ops.headers) {
|
16 | r.set(key, ops.headers[key]);
|
17 | }
|
18 | }
|
19 |
|
20 | if (ops.query) {
|
21 | r.query(ops.query);
|
22 | }
|
23 |
|
24 | if (ops.data) {
|
25 | r.send(ops.data);
|
26 | }
|
27 |
|
28 | r.end(function(err, res) {
|
29 |
|
30 |
|
31 | if (err) return onRequest(err);
|
32 |
|
33 | var res = res.text;
|
34 |
|
35 | try {
|
36 | res = JSON.parse(res);
|
37 | } catch (e) { }
|
38 |
|
39 | onRequest(void 0, res);
|
40 | });
|
41 | }
|