@modern-js/create-request 2.0.0-beta.3 → 2.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/modern/browser.js +43 -40
- package/dist/js/modern/handleRes.js +30 -10
- package/dist/js/modern/index.js +5 -2
- package/dist/js/modern/node.js +24 -40
- package/dist/js/node/browser.js +76 -52
- package/dist/js/node/handleRes.js +53 -16
- package/dist/js/node/index.js +28 -11
- package/dist/js/node/node.js +59 -54
- package/dist/js/node/types.js +15 -0
- package/dist/js/treeshaking/browser.js +236 -105
- package/dist/js/treeshaking/handleRes.js +182 -53
- package/dist/js/treeshaking/index.js +33 -4
- package/dist/js/treeshaking/node.js +119 -91
- package/dist/js/treeshaking/types.js +1 -0
- package/package.json +4 -4
package/dist/js/node/node.js
CHANGED
|
@@ -1,53 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
var node_exports = {};
|
|
25
|
+
__export(node_exports, {
|
|
26
|
+
configure: () => configure,
|
|
27
|
+
createRequest: () => createRequest
|
|
5
28
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
module.exports = __toCommonJS(node_exports);
|
|
30
|
+
var import_node_fetch = __toESM(require("node-fetch"));
|
|
31
|
+
var import_path_to_regexp = require("path-to-regexp");
|
|
32
|
+
var import_ssr = require("@modern-js/utils/ssr");
|
|
33
|
+
var import_query_string = __toESM(require("query-string"));
|
|
34
|
+
var import_handleRes = require("./handleRes");
|
|
13
35
|
let realRequest;
|
|
14
36
|
let realAllowedHeaders = [];
|
|
15
|
-
const originFetch = (...params) => (0,
|
|
16
|
-
const configure = options => {
|
|
17
|
-
const {
|
|
18
|
-
request,
|
|
19
|
-
interceptor,
|
|
20
|
-
allowedHeaders
|
|
21
|
-
} = options;
|
|
37
|
+
const originFetch = (...params) => (0, import_node_fetch.default)(...params).then(import_handleRes.handleRes);
|
|
38
|
+
const configure = (options) => {
|
|
39
|
+
const { request, interceptor, allowedHeaders } = options;
|
|
22
40
|
realRequest = request || originFetch;
|
|
23
41
|
if (interceptor && !request) {
|
|
24
|
-
realRequest = interceptor(
|
|
42
|
+
realRequest = interceptor(import_node_fetch.default);
|
|
25
43
|
}
|
|
26
44
|
if (Array.isArray(allowedHeaders)) {
|
|
27
45
|
realAllowedHeaders = allowedHeaders;
|
|
28
46
|
}
|
|
29
47
|
};
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
// 后续可能要修改,暂时先保留
|
|
33
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
34
|
-
fetch = _nodeFetch.default) => {
|
|
35
|
-
const getFinalPath = (0, _pathToRegexp.compile)(path, {
|
|
36
|
-
encode: encodeURIComponent
|
|
37
|
-
});
|
|
48
|
+
const createRequest = (path, method, port, fetch = import_node_fetch.default) => {
|
|
49
|
+
const getFinalPath = (0, import_path_to_regexp.compile)(path, { encode: encodeURIComponent });
|
|
38
50
|
const keys = [];
|
|
39
|
-
(0,
|
|
51
|
+
(0, import_path_to_regexp.pathToRegexp)(path, keys);
|
|
40
52
|
const sender = (...args) => {
|
|
41
|
-
const webRequestHeaders = (0,
|
|
42
|
-
const payload = typeof args[args.length - 1] ===
|
|
53
|
+
const webRequestHeaders = (0, import_ssr.useHeaders)();
|
|
54
|
+
const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
|
|
43
55
|
payload.params = payload.params || {};
|
|
44
56
|
const requestParams = args[0];
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
params
|
|
49
|
-
} = requestParams;
|
|
50
|
-
keys.forEach(key => {
|
|
57
|
+
if (typeof requestParams === "object" && requestParams.params) {
|
|
58
|
+
const { params } = requestParams;
|
|
59
|
+
keys.forEach((key) => {
|
|
51
60
|
payload.params[key.name] = params[key.name];
|
|
52
61
|
});
|
|
53
62
|
} else {
|
|
@@ -56,42 +65,38 @@ fetch = _nodeFetch.default) => {
|
|
|
56
65
|
});
|
|
57
66
|
}
|
|
58
67
|
const plainPath = getFinalPath(payload.params);
|
|
59
|
-
const finalPath = payload.query ? `${plainPath}?${
|
|
68
|
+
const finalPath = payload.query ? `${plainPath}?${import_query_string.default.stringify(payload.query)}` : plainPath;
|
|
60
69
|
const headers = payload.headers || {};
|
|
61
70
|
let body;
|
|
62
71
|
for (const key of realAllowedHeaders) {
|
|
63
|
-
if (typeof webRequestHeaders[key] !==
|
|
72
|
+
if (typeof webRequestHeaders[key] !== "undefined") {
|
|
64
73
|
headers[key] = webRequestHeaders[key];
|
|
65
74
|
}
|
|
66
75
|
}
|
|
67
76
|
if (payload.data) {
|
|
68
|
-
headers[
|
|
69
|
-
body = typeof payload.data ===
|
|
77
|
+
headers["Content-Type"] = "application/json";
|
|
78
|
+
body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
70
79
|
} else if (payload.body) {
|
|
71
|
-
headers[
|
|
72
|
-
// eslint-disable-next-line prefer-destructuring
|
|
80
|
+
headers["Content-Type"] = "text/plain";
|
|
73
81
|
body = payload.body;
|
|
74
82
|
} else if (payload.formData) {
|
|
75
83
|
body = payload.formData;
|
|
76
|
-
// https://stackoverflow.com/questions/44919424/bad-content-type-header-no-multipart-boundary-nodejs
|
|
77
|
-
// need multipart boundary auto attached by node-fetch when multipart is true
|
|
78
|
-
// headers['Content-Type'] = 'multipart/form-data';
|
|
79
84
|
} else if (payload.formUrlencoded) {
|
|
80
|
-
headers[
|
|
81
|
-
if (typeof payload.formUrlencoded ===
|
|
82
|
-
body =
|
|
85
|
+
headers["Content-Type"] = "application/x-www-form-urlencoded";
|
|
86
|
+
if (typeof payload.formUrlencoded === "object") {
|
|
87
|
+
body = import_query_string.default.stringify(payload.formUrlencoded);
|
|
83
88
|
} else {
|
|
84
89
|
body = payload.formUrlencoded;
|
|
85
90
|
}
|
|
86
91
|
}
|
|
87
92
|
const url = `http://localhost:${port}${finalPath}`;
|
|
88
93
|
const fetcher = realRequest || originFetch;
|
|
89
|
-
return fetcher(url, {
|
|
90
|
-
method,
|
|
91
|
-
body,
|
|
92
|
-
headers
|
|
93
|
-
});
|
|
94
|
+
return fetcher(url, { method, body, headers });
|
|
94
95
|
};
|
|
95
96
|
return sender;
|
|
96
97
|
};
|
|
97
|
-
|
|
98
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
99
|
+
0 && (module.exports = {
|
|
100
|
+
configure,
|
|
101
|
+
createRequest
|
|
102
|
+
});
|
package/dist/js/node/types.js
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var types_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -1,112 +1,243 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
function _arrayLikeToArray(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _arrayWithoutHoles(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
8
|
+
}
|
|
9
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
10
|
+
try {
|
|
11
|
+
var info = gen[key](arg);
|
|
12
|
+
var value = info.value;
|
|
13
|
+
} catch (error) {
|
|
14
|
+
reject(error);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (info.done) {
|
|
18
|
+
resolve(value);
|
|
19
|
+
} else {
|
|
20
|
+
Promise.resolve(value).then(_next, _throw);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function _asyncToGenerator(fn) {
|
|
24
|
+
return function() {
|
|
25
|
+
var self = this, args = arguments;
|
|
26
|
+
return new Promise(function(resolve, reject) {
|
|
27
|
+
var gen = fn.apply(self, args);
|
|
28
|
+
function _next(value) {
|
|
29
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
30
|
+
}
|
|
31
|
+
function _throw(err) {
|
|
32
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
33
|
+
}
|
|
34
|
+
_next(undefined);
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function _instanceof(left, right) {
|
|
39
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
40
|
+
return !!right[Symbol.hasInstance](left);
|
|
41
|
+
} else {
|
|
42
|
+
return left instanceof right;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function _iterableToArray(iter) {
|
|
46
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
47
|
+
}
|
|
48
|
+
function _nonIterableSpread() {
|
|
49
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
50
|
+
}
|
|
51
|
+
function _toConsumableArray(arr) {
|
|
52
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
53
|
+
}
|
|
54
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
55
|
+
if (!o) return;
|
|
56
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
57
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
58
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
59
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
60
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
61
|
+
}
|
|
62
|
+
var __generator = this && this.__generator || function(thisArg, body) {
|
|
63
|
+
var f, y, t, g, _ = {
|
|
64
|
+
label: 0,
|
|
65
|
+
sent: function() {
|
|
66
|
+
if (t[0] & 1) throw t[1];
|
|
67
|
+
return t[1];
|
|
68
|
+
},
|
|
69
|
+
trys: [],
|
|
70
|
+
ops: []
|
|
71
|
+
};
|
|
72
|
+
return(g = {
|
|
73
|
+
next: verb(0),
|
|
74
|
+
"throw": verb(1),
|
|
75
|
+
"return": verb(2)
|
|
76
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
77
|
+
return this;
|
|
78
|
+
}), g);
|
|
79
|
+
function verb(n) {
|
|
80
|
+
return function(v) {
|
|
81
|
+
return step([
|
|
82
|
+
n,
|
|
83
|
+
v
|
|
84
|
+
]);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function step(op) {
|
|
88
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
89
|
+
while(_)try {
|
|
90
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
91
|
+
if (y = 0, t) op = [
|
|
92
|
+
op[0] & 2,
|
|
93
|
+
t.value
|
|
94
|
+
];
|
|
95
|
+
switch(op[0]){
|
|
96
|
+
case 0:
|
|
97
|
+
case 1:
|
|
98
|
+
t = op;
|
|
99
|
+
break;
|
|
100
|
+
case 4:
|
|
101
|
+
_.label++;
|
|
102
|
+
return {
|
|
103
|
+
value: op[1],
|
|
104
|
+
done: false
|
|
105
|
+
};
|
|
106
|
+
case 5:
|
|
107
|
+
_.label++;
|
|
108
|
+
y = op[1];
|
|
109
|
+
op = [
|
|
110
|
+
0
|
|
111
|
+
];
|
|
112
|
+
continue;
|
|
113
|
+
case 7:
|
|
114
|
+
op = _.ops.pop();
|
|
115
|
+
_.trys.pop();
|
|
116
|
+
continue;
|
|
117
|
+
default:
|
|
118
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
119
|
+
_ = 0;
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
123
|
+
_.label = op[1];
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
127
|
+
_.label = t[1];
|
|
128
|
+
t = op;
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
if (t && _.label < t[2]) {
|
|
132
|
+
_.label = t[2];
|
|
133
|
+
_.ops.push(op);
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
if (t[2]) _.ops.pop();
|
|
137
|
+
_.trys.pop();
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
op = body.call(thisArg, _);
|
|
141
|
+
} catch (e) {
|
|
142
|
+
op = [
|
|
143
|
+
6,
|
|
144
|
+
e
|
|
145
|
+
];
|
|
146
|
+
y = 0;
|
|
147
|
+
} finally{
|
|
148
|
+
f = t = 0;
|
|
149
|
+
}
|
|
150
|
+
if (op[0] & 5) throw op[1];
|
|
151
|
+
return {
|
|
152
|
+
value: op[0] ? op[1] : void 0,
|
|
153
|
+
done: true
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
import { compile, pathToRegexp } from "path-to-regexp";
|
|
158
|
+
import qs from "query-string";
|
|
6
159
|
import { handleRes } from "./handleRes";
|
|
7
160
|
var realRequest;
|
|
8
161
|
var realAllowedHeaders;
|
|
9
|
-
var originFetch = function
|
|
10
|
-
|
|
162
|
+
var originFetch = function() {
|
|
163
|
+
for(var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++){
|
|
164
|
+
params[_key] = arguments[_key];
|
|
165
|
+
}
|
|
166
|
+
return fetch.apply(void 0, _toConsumableArray(params)).then(handleRes);
|
|
11
167
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
22
|
-
realAllowedHeaders = allowedHeaders;
|
|
23
|
-
}
|
|
168
|
+
var configure = function(options) {
|
|
169
|
+
var request = options.request, interceptor = options.interceptor, allowedHeaders = options.allowedHeaders;
|
|
170
|
+
realRequest = request || originFetch;
|
|
171
|
+
if (interceptor && !request) {
|
|
172
|
+
realRequest = interceptor(fetch);
|
|
173
|
+
}
|
|
174
|
+
if (Array.isArray(allowedHeaders)) {
|
|
175
|
+
realAllowedHeaders = allowedHeaders;
|
|
176
|
+
}
|
|
24
177
|
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
case 0:
|
|
50
|
-
for (_len = _args.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
51
|
-
args[_key] = _args[_key];
|
|
52
|
-
}
|
|
53
|
-
fetcher = realRequest || originFetch;
|
|
54
|
-
payload = _typeof(args[args.length - 1]) === 'object' ? args[args.length - 1] : {};
|
|
55
|
-
payload.params = payload.params || {};
|
|
56
|
-
requestParams = args[0]; // 这种场景下是使用 schema,所以 params 要从 args[0] 中获取
|
|
57
|
-
if (_typeof(requestParams) === 'object' && requestParams.params) {
|
|
58
|
-
params = requestParams.params;
|
|
59
|
-
keys.forEach(function (key) {
|
|
60
|
-
payload.params[key.name] = params[key.name];
|
|
61
|
-
});
|
|
62
|
-
} else {
|
|
63
|
-
keys.forEach(function (key, index) {
|
|
64
|
-
payload.params[key.name] = args[index];
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
finalPath = getFinalPath(payload.params);
|
|
68
|
-
finalURL = payload.query ? "".concat(finalPath, "?").concat(qs.stringify(payload.query)) : finalPath;
|
|
69
|
-
headers = payload.headers || {};
|
|
70
|
-
body = payload.data && _typeof(payload.data) === 'object' ? JSON.stringify(payload.data) : payload.body;
|
|
71
|
-
if (payload.data) {
|
|
72
|
-
headers['Content-Type'] = 'application/json';
|
|
73
|
-
body = _typeof(payload.data) === 'object' ? JSON.stringify(payload.data) : payload.body;
|
|
74
|
-
} else if (payload.body) {
|
|
75
|
-
headers['Content-Type'] = 'text/plain';
|
|
76
|
-
// eslint-disable-next-line prefer-destructuring
|
|
77
|
-
body = payload.body;
|
|
78
|
-
} else if (payload.formData) {
|
|
79
|
-
body = payload.formData;
|
|
80
|
-
// https://stackoverflow.com/questions/44919424/bad-content-type-header-no-multipart-boundary-nodejs
|
|
81
|
-
// need multipart boundary aotu attached by browser when multipart is true
|
|
82
|
-
// headers['Content-Type'] = 'multipart/form-data';
|
|
83
|
-
} else if (payload.formUrlencoded) {
|
|
84
|
-
headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
85
|
-
if (_typeof(payload.formUrlencoded) === 'object' &&
|
|
86
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
87
|
-
// @ts-expect-error
|
|
88
|
-
// eslint-disable-next-line node/prefer-global/url-search-params,node/no-unsupported-features/node-builtins
|
|
89
|
-
!(payload.formUrlencoded instanceof URLSearchParams)) {
|
|
90
|
-
body = qs.stringify(payload.formUrlencoded);
|
|
178
|
+
var createRequest = function(path, method, port) {
|
|
179
|
+
var fetch2 = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : originFetch;
|
|
180
|
+
var getFinalPath = compile(path, {
|
|
181
|
+
encode: encodeURIComponent
|
|
182
|
+
});
|
|
183
|
+
var keys = [];
|
|
184
|
+
pathToRegexp(path, keys);
|
|
185
|
+
var sender = function() {
|
|
186
|
+
var _ref = _asyncToGenerator(function() {
|
|
187
|
+
var _len, args, _key, fetcher, payload, requestParams, params, finalPath, finalURL, headers, body;
|
|
188
|
+
var _arguments = arguments;
|
|
189
|
+
return __generator(this, function(_state) {
|
|
190
|
+
for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
191
|
+
args[_key] = _arguments[_key];
|
|
192
|
+
}
|
|
193
|
+
fetcher = realRequest || originFetch;
|
|
194
|
+
payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
|
|
195
|
+
payload.params = payload.params || {};
|
|
196
|
+
requestParams = args[0];
|
|
197
|
+
if (typeof requestParams === "object" && requestParams.params) {
|
|
198
|
+
params = requestParams.params;
|
|
199
|
+
keys.forEach(function(key) {
|
|
200
|
+
payload.params[key.name] = params[key.name];
|
|
201
|
+
});
|
|
91
202
|
} else {
|
|
92
|
-
|
|
203
|
+
keys.forEach(function(key, index) {
|
|
204
|
+
payload.params[key.name] = args[index];
|
|
205
|
+
});
|
|
93
206
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
body: body
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
207
|
+
finalPath = getFinalPath(payload.params);
|
|
208
|
+
finalURL = payload.query ? "".concat(finalPath, "?").concat(qs.stringify(payload.query)) : finalPath;
|
|
209
|
+
headers = payload.headers || {};
|
|
210
|
+
body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
211
|
+
if (payload.data) {
|
|
212
|
+
headers["Content-Type"] = "application/json";
|
|
213
|
+
body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
214
|
+
} else if (payload.body) {
|
|
215
|
+
headers["Content-Type"] = "text/plain";
|
|
216
|
+
body = payload.body;
|
|
217
|
+
} else if (payload.formData) {
|
|
218
|
+
body = payload.formData;
|
|
219
|
+
} else if (payload.formUrlencoded) {
|
|
220
|
+
headers["Content-Type"] = "application/x-www-form-urlencoded";
|
|
221
|
+
if (typeof payload.formUrlencoded === "object" && !_instanceof(payload.formUrlencoded, URLSearchParams)) {
|
|
222
|
+
body = qs.stringify(payload.formUrlencoded);
|
|
223
|
+
} else {
|
|
224
|
+
body = payload.formUrlencoded;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return [
|
|
228
|
+
2,
|
|
229
|
+
fetcher(finalURL, {
|
|
230
|
+
method: method,
|
|
231
|
+
body: body,
|
|
232
|
+
headers: headers
|
|
233
|
+
})
|
|
234
|
+
];
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
return function sender() {
|
|
238
|
+
return _ref.apply(this, arguments);
|
|
239
|
+
};
|
|
240
|
+
}();
|
|
241
|
+
return sender;
|
|
242
|
+
};
|
|
243
|
+
export { configure, createRequest };
|