@modern-js/create-request 2.69.4 → 3.0.0-alpha.0

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.
@@ -0,0 +1,99 @@
1
+ import { storage } from "@modern-js/runtime-utils/node";
2
+ import node_fetch from "node-fetch";
3
+ import { compile, pathToRegexp } from "path-to-regexp";
4
+ import { stringify } from "qs";
5
+ import { handleRes } from "./handleRes";
6
+ import { getUploadPayload } from "./utiles";
7
+ const realRequest = new Map();
8
+ const realAllowedHeaders = new Map();
9
+ const domainMap = new Map();
10
+ const originFetch = (...params)=>{
11
+ const [, init] = params;
12
+ if (init?.method?.toLowerCase() === 'get') init.body = void 0;
13
+ return node_fetch(...params).then(handleRes);
14
+ };
15
+ const configure = (options)=>{
16
+ const { request, interceptor, allowedHeaders, setDomain, requestId = 'default' } = options;
17
+ let configuredRequest = request || originFetch;
18
+ if (interceptor && !request) configuredRequest = interceptor(node_fetch);
19
+ if (Array.isArray(allowedHeaders)) realAllowedHeaders.set(requestId, allowedHeaders);
20
+ if (setDomain) domainMap.set(requestId, setDomain({
21
+ target: 'server'
22
+ }));
23
+ realRequest.set(requestId, configuredRequest);
24
+ };
25
+ const createRequest = ({ path, method, port, httpMethodDecider = 'functionName', fetch = originFetch, requestId = 'default' })=>{
26
+ const getFinalPath = compile(path, {
27
+ encode: encodeURIComponent
28
+ });
29
+ const keys = [];
30
+ pathToRegexp(path, keys);
31
+ const sender = (...args)=>{
32
+ let webRequestHeaders = [];
33
+ if ('default' === requestId) webRequestHeaders = storage.useContext().headers;
34
+ let body;
35
+ let headers;
36
+ let url;
37
+ if ('inputParams' === httpMethodDecider) {
38
+ url = path;
39
+ body = args;
40
+ headers = {
41
+ 'Content-Type': 'application/json'
42
+ };
43
+ } else {
44
+ const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
45
+ payload.params = payload.params || {};
46
+ const requestParams = args[0];
47
+ if ('object' == typeof requestParams && requestParams.params) {
48
+ const { params } = requestParams;
49
+ keys.forEach((key)=>{
50
+ payload.params[key.name] = params[key.name];
51
+ });
52
+ } else keys.forEach((key, index)=>{
53
+ payload.params[key.name] = args[index];
54
+ });
55
+ const plainPath = getFinalPath(payload.params);
56
+ const finalPath = payload.query ? `${plainPath}?${stringify(payload.query)}` : plainPath;
57
+ headers = payload.headers || {};
58
+ const targetAllowedHeaders = realAllowedHeaders.get(requestId) || [];
59
+ for (const key of targetAllowedHeaders)if (void 0 !== webRequestHeaders[key]) headers[key] = webRequestHeaders[key];
60
+ if (payload.data) {
61
+ headers['Content-Type'] = 'application/json';
62
+ body = 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
63
+ } else if (payload.body) {
64
+ headers['Content-Type'] = 'text/plain';
65
+ body = payload.body;
66
+ } else if (payload.formData) body = payload.formData;
67
+ else if (payload.formUrlencoded) {
68
+ headers['Content-Type'] = 'application/x-www-form-urlencoded';
69
+ body = 'object' == typeof payload.formUrlencoded ? stringify(payload.formUrlencoded) : payload.formUrlencoded;
70
+ }
71
+ const configDomain = domainMap.get(requestId);
72
+ url = `${configDomain || `http://127.0.0.1:${port}`}${finalPath}`;
73
+ }
74
+ const fetcher = realRequest.get(requestId) || originFetch;
75
+ if ('get' === method.toLowerCase()) body = void 0;
76
+ headers.accept = "application/json,*/*;q=0.8";
77
+ return fetcher(url, {
78
+ method,
79
+ body,
80
+ headers
81
+ });
82
+ };
83
+ return sender;
84
+ };
85
+ const createUploader = ({ path, requestId = 'default' })=>{
86
+ const sender = (...args)=>{
87
+ const fetcher = realRequest.get(requestId) || originFetch;
88
+ const { body, headers } = getUploadPayload(args);
89
+ const configDomain = domainMap.get(requestId);
90
+ const finalURL = `${configDomain || ''}${path}`;
91
+ return fetcher(finalURL, {
92
+ method: 'POST',
93
+ body,
94
+ headers
95
+ });
96
+ };
97
+ return sender;
98
+ };
99
+ export { configure, createRequest, createUploader };
@@ -0,0 +1,2 @@
1
+ import { parse, stringify } from "qs";
2
+ export { parse, stringify };
@@ -0,0 +1,15 @@
1
+ const getUploadPayload = (args)=>{
2
+ const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
3
+ const files = payload.files;
4
+ if (!files) throw new Error('no files');
5
+ const formdata = new FormData();
6
+ for (const [key, value] of Object.entries(files))if (value instanceof FileList) for(let i = 0; i < value.length; i++)formdata.append(key, value[i]);
7
+ else formdata.append(key, value);
8
+ const body = formdata;
9
+ return {
10
+ body,
11
+ headers: payload.headers,
12
+ params: payload.params
13
+ };
14
+ };
15
+ export { getUploadPayload };
@@ -0,0 +1,99 @@
1
+ import { compile, pathToRegexp } from "path-to-regexp";
2
+ import { stringify } from "qs";
3
+ import { handleRes } from "./handleRes.mjs";
4
+ import { getUploadPayload } from "./utiles.mjs";
5
+ const realRequest = new Map();
6
+ const realAllowedHeaders = new Map();
7
+ const domainMap = new Map();
8
+ const originFetch = (...params)=>{
9
+ const [url, init] = params;
10
+ if (init?.method?.toLowerCase() === 'get') init.body = void 0;
11
+ return fetch(url, init).then(handleRes);
12
+ };
13
+ const configure = (options)=>{
14
+ const { request, interceptor, allowedHeaders, setDomain, requestId = 'default' } = options;
15
+ let configuredRequest = request || originFetch;
16
+ if (interceptor && !request) configuredRequest = interceptor(fetch);
17
+ if (Array.isArray(allowedHeaders)) realAllowedHeaders.set(requestId, allowedHeaders);
18
+ if (setDomain) domainMap.set(requestId, setDomain({
19
+ target: 'browser'
20
+ }));
21
+ realRequest.set(requestId, configuredRequest);
22
+ };
23
+ const createRequest = ({ path, method, port, httpMethodDecider = 'functionName', fetch: fetch1 = originFetch, domain, requestId = 'default' })=>{
24
+ const getFinalPath = compile(path, {
25
+ encode: encodeURIComponent
26
+ });
27
+ const keys = [];
28
+ pathToRegexp(path, keys);
29
+ const sender = async (...args)=>{
30
+ const fetcher = realRequest.get(requestId) || originFetch;
31
+ let body;
32
+ let finalURL;
33
+ let headers;
34
+ if ('inputParams' === httpMethodDecider) {
35
+ finalURL = path;
36
+ body = JSON.stringify({
37
+ args
38
+ });
39
+ headers = {
40
+ 'Content-Type': 'application/json'
41
+ };
42
+ } else {
43
+ const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
44
+ payload.params = payload.params || {};
45
+ const requestParams = args[0];
46
+ if ('object' == typeof requestParams && requestParams.params) {
47
+ const { params } = requestParams;
48
+ keys.forEach((key)=>{
49
+ payload.params[key.name] = params[key.name];
50
+ });
51
+ } else keys.forEach((key, index)=>{
52
+ payload.params[key.name] = args[index];
53
+ });
54
+ const finalPath = getFinalPath(payload.params);
55
+ finalURL = payload.query ? `${finalPath}?${stringify(payload.query)}` : finalPath;
56
+ headers = payload.headers || {};
57
+ body = payload.data && 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
58
+ if (payload.data) {
59
+ headers['Content-Type'] = 'application/json';
60
+ body = 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
61
+ } else if (payload.body) {
62
+ headers['Content-Type'] = 'text/plain';
63
+ body = payload.body;
64
+ } else if (payload.formData) body = payload.formData;
65
+ else if (payload.formUrlencoded) {
66
+ headers['Content-Type'] = 'application/x-www-form-urlencoded';
67
+ body = 'object' != typeof payload.formUrlencoded || payload.formUrlencoded instanceof URLSearchParams ? payload.formUrlencoded : stringify(payload.formUrlencoded);
68
+ }
69
+ }
70
+ headers.accept = "application/json,*/*;q=0.8";
71
+ const configDomain = domainMap.get(requestId);
72
+ finalURL = `${configDomain || domain || ''}${finalURL}`;
73
+ return fetcher(finalURL, {
74
+ method,
75
+ body,
76
+ headers
77
+ });
78
+ };
79
+ return sender;
80
+ };
81
+ const createUploader = ({ path, domain, requestId = 'default' })=>{
82
+ const getFinalPath = compile(path, {
83
+ encode: encodeURIComponent
84
+ });
85
+ const sender = (...args)=>{
86
+ const fetcher = realRequest.get(requestId) || originFetch;
87
+ const { body, headers, params } = getUploadPayload(args);
88
+ const finalPath = getFinalPath(params);
89
+ const configDomain = domainMap.get(requestId);
90
+ const finalURL = `${configDomain || domain || ''}${finalPath}`;
91
+ return fetcher(finalURL, {
92
+ method: 'POST',
93
+ body,
94
+ headers
95
+ });
96
+ };
97
+ return sender;
98
+ };
99
+ export { configure, createRequest, createUploader };
@@ -0,0 +1,15 @@
1
+ const handleRes = async (res)=>{
2
+ const contentType = res.headers.get('content-type');
3
+ if (!res.ok) {
4
+ const data = await res.json();
5
+ res.data = data;
6
+ throw res;
7
+ }
8
+ if (contentType?.includes('application/json') || contentType?.includes('text/json')) return res.json();
9
+ if (contentType?.includes('text/html') || contentType?.includes('text/plain')) return res.text();
10
+ if ((contentType?.includes('application/x-www-form-urlencoded') || contentType?.includes('multipart/form-data')) && res instanceof Response) return res.formData();
11
+ if (contentType?.includes('application/octet-stream')) return res.arrayBuffer();
12
+ if (contentType?.includes('image/png')) return res;
13
+ return res.text();
14
+ };
15
+ export { handleRes };
@@ -0,0 +1,99 @@
1
+ import { storage } from "@modern-js/runtime-utils/node";
2
+ import node_fetch from "node-fetch";
3
+ import { compile, pathToRegexp } from "path-to-regexp";
4
+ import { stringify } from "qs";
5
+ import { handleRes } from "./handleRes.mjs";
6
+ import { getUploadPayload } from "./utiles.mjs";
7
+ const realRequest = new Map();
8
+ const realAllowedHeaders = new Map();
9
+ const domainMap = new Map();
10
+ const originFetch = (...params)=>{
11
+ const [, init] = params;
12
+ if (init?.method?.toLowerCase() === 'get') init.body = void 0;
13
+ return node_fetch(...params).then(handleRes);
14
+ };
15
+ const configure = (options)=>{
16
+ const { request, interceptor, allowedHeaders, setDomain, requestId = 'default' } = options;
17
+ let configuredRequest = request || originFetch;
18
+ if (interceptor && !request) configuredRequest = interceptor(node_fetch);
19
+ if (Array.isArray(allowedHeaders)) realAllowedHeaders.set(requestId, allowedHeaders);
20
+ if (setDomain) domainMap.set(requestId, setDomain({
21
+ target: 'server'
22
+ }));
23
+ realRequest.set(requestId, configuredRequest);
24
+ };
25
+ const createRequest = ({ path, method, port, httpMethodDecider = 'functionName', fetch = originFetch, requestId = 'default' })=>{
26
+ const getFinalPath = compile(path, {
27
+ encode: encodeURIComponent
28
+ });
29
+ const keys = [];
30
+ pathToRegexp(path, keys);
31
+ const sender = (...args)=>{
32
+ let webRequestHeaders = [];
33
+ if ('default' === requestId) webRequestHeaders = storage.useContext().headers;
34
+ let body;
35
+ let headers;
36
+ let url;
37
+ if ('inputParams' === httpMethodDecider) {
38
+ url = path;
39
+ body = args;
40
+ headers = {
41
+ 'Content-Type': 'application/json'
42
+ };
43
+ } else {
44
+ const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
45
+ payload.params = payload.params || {};
46
+ const requestParams = args[0];
47
+ if ('object' == typeof requestParams && requestParams.params) {
48
+ const { params } = requestParams;
49
+ keys.forEach((key)=>{
50
+ payload.params[key.name] = params[key.name];
51
+ });
52
+ } else keys.forEach((key, index)=>{
53
+ payload.params[key.name] = args[index];
54
+ });
55
+ const plainPath = getFinalPath(payload.params);
56
+ const finalPath = payload.query ? `${plainPath}?${stringify(payload.query)}` : plainPath;
57
+ headers = payload.headers || {};
58
+ const targetAllowedHeaders = realAllowedHeaders.get(requestId) || [];
59
+ for (const key of targetAllowedHeaders)if (void 0 !== webRequestHeaders[key]) headers[key] = webRequestHeaders[key];
60
+ if (payload.data) {
61
+ headers['Content-Type'] = 'application/json';
62
+ body = 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
63
+ } else if (payload.body) {
64
+ headers['Content-Type'] = 'text/plain';
65
+ body = payload.body;
66
+ } else if (payload.formData) body = payload.formData;
67
+ else if (payload.formUrlencoded) {
68
+ headers['Content-Type'] = 'application/x-www-form-urlencoded';
69
+ body = 'object' == typeof payload.formUrlencoded ? stringify(payload.formUrlencoded) : payload.formUrlencoded;
70
+ }
71
+ const configDomain = domainMap.get(requestId);
72
+ url = `${configDomain || `http://127.0.0.1:${port}`}${finalPath}`;
73
+ }
74
+ const fetcher = realRequest.get(requestId) || originFetch;
75
+ if ('get' === method.toLowerCase()) body = void 0;
76
+ headers.accept = "application/json,*/*;q=0.8";
77
+ return fetcher(url, {
78
+ method,
79
+ body,
80
+ headers
81
+ });
82
+ };
83
+ return sender;
84
+ };
85
+ const createUploader = ({ path, requestId = 'default' })=>{
86
+ const sender = (...args)=>{
87
+ const fetcher = realRequest.get(requestId) || originFetch;
88
+ const { body, headers } = getUploadPayload(args);
89
+ const configDomain = domainMap.get(requestId);
90
+ const finalURL = `${configDomain || ''}${path}`;
91
+ return fetcher(finalURL, {
92
+ method: 'POST',
93
+ body,
94
+ headers
95
+ });
96
+ };
97
+ return sender;
98
+ };
99
+ export { configure, createRequest, createUploader };
@@ -0,0 +1,2 @@
1
+ import { parse, stringify } from "qs";
2
+ export { parse, stringify };
@@ -0,0 +1,15 @@
1
+ const getUploadPayload = (args)=>{
2
+ const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
3
+ const files = payload.files;
4
+ if (!files) throw new Error('no files');
5
+ const formdata = new FormData();
6
+ for (const [key, value] of Object.entries(files))if (value instanceof FileList) for(let i = 0; i < value.length; i++)formdata.append(key, value[i]);
7
+ else formdata.append(key, value);
8
+ const body = formdata;
9
+ return {
10
+ body,
11
+ headers: payload.headers,
12
+ params: payload.params
13
+ };
14
+ };
15
+ export { getUploadPayload };
package/package.json CHANGED
@@ -15,12 +15,12 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.69.4",
18
+ "version": "3.0.0-alpha.0",
19
19
  "jsnext:source": "./src/node.ts",
20
20
  "types": "./dist/types/browser.d.ts",
21
21
  "main": "./dist/cjs/node.js",
22
- "module": "./dist/esm/node.js",
23
- "browser": "./dist/esm/browser.js",
22
+ "module": "./dist/esm/node.mjs",
23
+ "browser": "./dist/esm/browser.mjs",
24
24
  "files": [
25
25
  "dist",
26
26
  "hook.d.ts"
@@ -28,31 +28,40 @@
28
28
  "exports": {
29
29
  ".": {
30
30
  "types": "./dist/types/browser.d.ts",
31
- "node": "./dist/esm/node.js",
32
- "default": "./dist/esm/browser.js"
31
+ "jsnext:source": "./src/browser.ts",
32
+ "node": "./dist/esm-node/node.mjs",
33
+ "default": "./dist/esm/browser.mjs"
33
34
  },
34
35
  "./client": {
35
36
  "types": "./dist/types/browser.d.ts",
36
37
  "jsnext:source": "./src/browser.ts",
37
- "default": "./dist/esm/browser.js"
38
+ "default": "./dist/esm/browser.mjs"
38
39
  },
39
40
  "./modern": {
40
41
  "jsnext:source": "./src/browser.ts",
41
- "default": "./dist/esm-node/browser.js"
42
+ "default": "./dist/esm-node/browser.mjs"
42
43
  },
43
44
  "./server": {
44
45
  "types": "./dist/types/node.d.ts",
45
46
  "jsnext:source": "./src/node.ts",
47
+ "node": {
48
+ "import": "./dist/esm-node/node.mjs",
49
+ "require": "./dist/cjs/node.js"
50
+ },
46
51
  "default": "./dist/cjs/node.js"
47
52
  },
48
53
  "./browser": {
49
54
  "types": "./dist/types/browser.d.ts",
50
55
  "jsnext:source": "./src/browser.ts",
51
- "default": "./dist/esm/browser.js"
56
+ "default": "./dist/esm/browser.mjs"
52
57
  },
53
58
  "./default": {
54
59
  "types": "./dist/types/node.d.ts",
55
60
  "jsnext:source": "./src/node.ts",
61
+ "node": {
62
+ "import": "./dist/esm-node/node.mjs",
63
+ "require": "./dist/cjs/node.js"
64
+ },
56
65
  "default": "./dist/cjs/node.js"
57
66
  },
58
67
  "./qs": {
@@ -69,11 +78,20 @@
69
78
  "client": [
70
79
  "./dist/types/browser.d.ts"
71
80
  ],
81
+ "modern": [
82
+ "./dist/types/browser.d.ts"
83
+ ],
72
84
  "server": [
73
85
  "./dist/types/node.d.ts"
74
86
  ],
75
87
  "qs": [
76
88
  "./dist/types/qs.d.ts"
89
+ ],
90
+ "browser": [
91
+ "./dist/types/browser.d.ts"
92
+ ],
93
+ "default": [
94
+ "./dist/types/node.d.ts"
77
95
  ]
78
96
  }
79
97
  },
@@ -83,21 +101,20 @@
83
101
  "node-fetch": "^2.7.0",
84
102
  "path-to-regexp": "^6.3.0",
85
103
  "qs": "^6.14.0",
86
- "@modern-js/runtime-utils": "2.69.4",
87
- "@modern-js/utils": "2.69.4"
104
+ "@modern-js/runtime-utils": "3.0.0-alpha.0",
105
+ "@modern-js/utils": "3.0.0-alpha.0"
88
106
  },
89
107
  "devDependencies": {
90
- "@types/jest": "^29",
91
- "@types/node": "^18",
92
- "@types/node-fetch": "^2.6.1",
108
+ "@rslib/core": "0.18.5",
109
+ "@types/node": "^20",
110
+ "@types/node-fetch": "^2.6.13",
93
111
  "isomorphic-fetch": "^3.0.0",
94
- "jest": "^29",
95
112
  "nock": "^13.5.6",
96
113
  "@types/qs": "^6.14.0",
97
114
  "typescript": "^5",
98
- "@modern-js/types": "2.69.4",
99
- "@scripts/build": "2.66.0",
100
- "@scripts/jest-config": "2.66.0"
115
+ "@modern-js/types": "3.0.0-alpha.0",
116
+ "@scripts/rstest-config": "2.66.0",
117
+ "@modern-js/rslib": "2.68.10"
101
118
  },
102
119
  "sideEffects": false,
103
120
  "publishConfig": {
@@ -105,9 +122,8 @@
105
122
  "access": "public"
106
123
  },
107
124
  "scripts": {
108
- "new": "modern-lib new",
109
- "dev": "modern-lib build --watch",
110
- "build": "modern-lib build",
111
- "test": "jest --passWithNoTests"
125
+ "dev": "rslib build --watch",
126
+ "build": "rslib build",
127
+ "test": "rstest --passWithNoTests"
112
128
  }
113
129
  }
@@ -1,145 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
3
- import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
- import { _ as _type_of } from "@swc/helpers/_/_type_of";
5
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
- import { compile, pathToRegexp } from "path-to-regexp";
7
- import { stringify } from "qs";
8
- import { handleRes } from "./handleRes";
9
- import { getUploadPayload } from "./utiles";
10
- var realRequest = /* @__PURE__ */ new Map();
11
- var realAllowedHeaders = /* @__PURE__ */ new Map();
12
- var domainMap = /* @__PURE__ */ new Map();
13
- var originFetch = function() {
14
- for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
15
- params[_key] = arguments[_key];
16
- }
17
- var _init_method;
18
- var _params = _sliced_to_array(params, 2), url = _params[0], init = _params[1];
19
- if ((init === null || init === void 0 ? void 0 : (_init_method = init.method) === null || _init_method === void 0 ? void 0 : _init_method.toLowerCase()) === "get") {
20
- init.body = void 0;
21
- }
22
- return fetch(url, init).then(handleRes);
23
- };
24
- var configure = function(options) {
25
- var request = options.request, interceptor = options.interceptor, allowedHeaders = options.allowedHeaders, setDomain = options.setDomain, _options_requestId = options.requestId, requestId = _options_requestId === void 0 ? "default" : _options_requestId;
26
- var configuredRequest = request || originFetch;
27
- if (interceptor && !request) {
28
- configuredRequest = interceptor(fetch);
29
- }
30
- if (Array.isArray(allowedHeaders)) {
31
- realAllowedHeaders.set(requestId, allowedHeaders);
32
- }
33
- if (setDomain) {
34
- domainMap.set(requestId, setDomain({
35
- target: "browser"
36
- }));
37
- }
38
- realRequest.set(requestId, configuredRequest);
39
- };
40
- var createRequest = function(param) {
41
- var path = param.path, method = param.method, port = param.port, _param_httpMethodDecider = param.httpMethodDecider, httpMethodDecider = _param_httpMethodDecider === void 0 ? "functionName" : _param_httpMethodDecider, _param_fetch = param.fetch, fetch1 = _param_fetch === void 0 ? originFetch : _param_fetch, domain = param.domain, _param_requestId = param.requestId, requestId = _param_requestId === void 0 ? "default" : _param_requestId;
42
- var getFinalPath = compile(path, {
43
- encode: encodeURIComponent
44
- });
45
- var keys = [];
46
- pathToRegexp(path, keys);
47
- var sender = function() {
48
- var _ref = _async_to_generator(function() {
49
- var _len, args, _key, fetcher, body, finalURL, headers, payload, requestParams, params, finalPath, configDomain;
50
- var _arguments = arguments;
51
- return _ts_generator(this, function(_state) {
52
- for (_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
53
- args[_key] = _arguments[_key];
54
- }
55
- fetcher = realRequest.get(requestId) || originFetch;
56
- if (httpMethodDecider === "inputParams") {
57
- finalURL = path;
58
- body = JSON.stringify({
59
- args
60
- });
61
- headers = {
62
- "Content-Type": "application/json"
63
- };
64
- } else {
65
- payload = _type_of(args[args.length - 1]) === "object" ? args[args.length - 1] : {};
66
- payload.params = payload.params || {};
67
- requestParams = args[0];
68
- if ((typeof requestParams === "undefined" ? "undefined" : _type_of(requestParams)) === "object" && requestParams.params) {
69
- params = requestParams.params;
70
- keys.forEach(function(key) {
71
- payload.params[key.name] = params[key.name];
72
- });
73
- } else {
74
- keys.forEach(function(key, index) {
75
- payload.params[key.name] = args[index];
76
- });
77
- }
78
- finalPath = getFinalPath(payload.params);
79
- finalURL = payload.query ? "".concat(finalPath, "?").concat(stringify(payload.query)) : finalPath;
80
- headers = payload.headers || {};
81
- body = payload.data && _type_of(payload.data) === "object" ? JSON.stringify(payload.data) : payload.body;
82
- if (payload.data) {
83
- headers["Content-Type"] = "application/json";
84
- body = _type_of(payload.data) === "object" ? JSON.stringify(payload.data) : payload.body;
85
- } else if (payload.body) {
86
- headers["Content-Type"] = "text/plain";
87
- body = payload.body;
88
- } else if (payload.formData) {
89
- body = payload.formData;
90
- } else if (payload.formUrlencoded) {
91
- headers["Content-Type"] = "application/x-www-form-urlencoded";
92
- if (_type_of(payload.formUrlencoded) === "object" && // @ts-expect-error
93
- !_instanceof(payload.formUrlencoded, URLSearchParams)) {
94
- body = stringify(payload.formUrlencoded);
95
- } else {
96
- body = payload.formUrlencoded;
97
- }
98
- }
99
- }
100
- headers.accept = "application/json,*/*;q=0.8";
101
- configDomain = domainMap.get(requestId);
102
- finalURL = "".concat(configDomain || domain || "").concat(finalURL);
103
- return [
104
- 2,
105
- fetcher(finalURL, {
106
- method,
107
- body,
108
- headers
109
- })
110
- ];
111
- });
112
- });
113
- return function sender2() {
114
- return _ref.apply(this, arguments);
115
- };
116
- }();
117
- return sender;
118
- };
119
- var createUploader = function(param) {
120
- var path = param.path, domain = param.domain, _param_requestId = param.requestId, requestId = _param_requestId === void 0 ? "default" : _param_requestId;
121
- var getFinalPath = compile(path, {
122
- encode: encodeURIComponent
123
- });
124
- var sender = function() {
125
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
126
- args[_key] = arguments[_key];
127
- }
128
- var fetcher = realRequest.get(requestId) || originFetch;
129
- var _getUploadPayload = getUploadPayload(args), body = _getUploadPayload.body, headers = _getUploadPayload.headers, params = _getUploadPayload.params;
130
- var finalPath = getFinalPath(params);
131
- var configDomain = domainMap.get(requestId);
132
- var finalURL = "".concat(configDomain || domain || "").concat(finalPath);
133
- return fetcher(finalURL, {
134
- method: "POST",
135
- body,
136
- headers
137
- });
138
- };
139
- return sender;
140
- };
141
- export {
142
- configure,
143
- createRequest,
144
- createUploader
145
- };