@modern-js/create-request 2.6.0 → 2.6.1-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.
@@ -47,46 +47,59 @@ const configure = (options) => {
47
47
  realAllowedHeaders = allowedHeaders;
48
48
  }
49
49
  };
50
- const createRequest = (path, method, port, fetch2 = originFetch) => {
50
+ const createRequest = (path, method, port, httpMethodDecider = "functionName", fetch2 = originFetch) => {
51
51
  const getFinalPath = (0, import_path_to_regexp.compile)(path, { encode: encodeURIComponent });
52
52
  const keys = [];
53
53
  (0, import_path_to_regexp.pathToRegexp)(path, keys);
54
54
  const sender = async (...args) => {
55
55
  const fetcher = realRequest || originFetch;
56
- const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
57
- payload.params = payload.params || {};
58
- const requestParams = args[0];
59
- if (typeof requestParams === "object" && requestParams.params) {
60
- const { params } = requestParams;
61
- keys.forEach((key) => {
62
- payload.params[key.name] = params[key.name];
56
+ let body;
57
+ let finalURL;
58
+ let headers;
59
+ if (httpMethodDecider === "inputParams") {
60
+ finalURL = path;
61
+ body = JSON.stringify({
62
+ args
63
63
  });
64
+ headers = {
65
+ "Content-Type": "application/json"
66
+ };
64
67
  } else {
65
- keys.forEach((key, index) => {
66
- payload.params[key.name] = args[index];
67
- });
68
- }
69
- const finalPath = getFinalPath(payload.params);
70
- const finalURL = payload.query ? `${finalPath}?${import_query_string.default.stringify(payload.query)}` : finalPath;
71
- const headers = payload.headers || {};
72
- let body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
73
- if (payload.data) {
74
- headers["Content-Type"] = "application/json";
75
- body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
76
- } else if (payload.body) {
77
- headers["Content-Type"] = "text/plain";
78
- body = payload.body;
79
- } else if (payload.formData) {
80
- body = payload.formData;
81
- } else if (payload.formUrlencoded) {
82
- headers["Content-Type"] = "application/x-www-form-urlencoded";
83
- if (typeof payload.formUrlencoded === "object" && // eslint-disable-next-line @typescript-eslint/ban-ts-comment
84
- // @ts-expect-error
85
- // eslint-disable-next-line node/prefer-global/url-search-params,node/no-unsupported-features/node-builtins
86
- !(payload.formUrlencoded instanceof URLSearchParams)) {
87
- body = import_query_string.default.stringify(payload.formUrlencoded);
68
+ const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
69
+ payload.params = payload.params || {};
70
+ const requestParams = args[0];
71
+ if (typeof requestParams === "object" && requestParams.params) {
72
+ const { params } = requestParams;
73
+ keys.forEach((key) => {
74
+ payload.params[key.name] = params[key.name];
75
+ });
88
76
  } else {
89
- body = payload.formUrlencoded;
77
+ keys.forEach((key, index) => {
78
+ payload.params[key.name] = args[index];
79
+ });
80
+ }
81
+ const finalPath = getFinalPath(payload.params);
82
+ finalURL = payload.query ? `${finalPath}?${import_query_string.default.stringify(payload.query)}` : finalPath;
83
+ headers = payload.headers || {};
84
+ body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
85
+ if (payload.data) {
86
+ headers["Content-Type"] = "application/json";
87
+ body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
88
+ } else if (payload.body) {
89
+ headers["Content-Type"] = "text/plain";
90
+ body = payload.body;
91
+ } else if (payload.formData) {
92
+ body = payload.formData;
93
+ } else if (payload.formUrlencoded) {
94
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
95
+ if (typeof payload.formUrlencoded === "object" && // eslint-disable-next-line @typescript-eslint/ban-ts-comment
96
+ // @ts-expect-error
97
+ // eslint-disable-next-line node/prefer-global/url-search-params,node/no-unsupported-features/node-builtins
98
+ !(payload.formUrlencoded instanceof URLSearchParams)) {
99
+ body = import_query_string.default.stringify(payload.formUrlencoded);
100
+ } else {
101
+ body = payload.formUrlencoded;
102
+ }
90
103
  }
91
104
  }
92
105
  if (method.toLowerCase() === "get") {
package/dist/cjs/node.js CHANGED
@@ -49,51 +49,64 @@ const configure = (options) => {
49
49
  realAllowedHeaders = allowedHeaders;
50
50
  }
51
51
  };
52
- const createRequest = (path, method, port, fetch = import_node_fetch.default) => {
52
+ const createRequest = (path, method, port, httpMethodDecider = "functionName", fetch = import_node_fetch.default) => {
53
53
  const getFinalPath = (0, import_path_to_regexp.compile)(path, { encode: encodeURIComponent });
54
54
  const keys = [];
55
55
  (0, import_path_to_regexp.pathToRegexp)(path, keys);
56
56
  const sender = (...args) => {
57
57
  const webRequestHeaders = (0, import_ssr.useHeaders)();
58
- const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
59
- payload.params = payload.params || {};
60
- const requestParams = args[0];
61
- if (typeof requestParams === "object" && requestParams.params) {
62
- const { params } = requestParams;
63
- keys.forEach((key) => {
64
- payload.params[key.name] = params[key.name];
65
- });
66
- } else {
67
- keys.forEach((key, index) => {
68
- payload.params[key.name] = args[index];
69
- });
70
- }
71
- const plainPath = getFinalPath(payload.params);
72
- const finalPath = payload.query ? `${plainPath}?${import_query_string.default.stringify(payload.query)}` : plainPath;
73
- const headers = payload.headers || {};
74
58
  let body;
75
- for (const key of realAllowedHeaders) {
76
- if (typeof webRequestHeaders[key] !== "undefined") {
77
- headers[key] = webRequestHeaders[key];
78
- }
79
- }
80
- if (payload.data) {
81
- headers["Content-Type"] = "application/json";
82
- body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
83
- } else if (payload.body) {
84
- headers["Content-Type"] = "text/plain";
85
- body = payload.body;
86
- } else if (payload.formData) {
87
- body = payload.formData;
88
- } else if (payload.formUrlencoded) {
89
- headers["Content-Type"] = "application/x-www-form-urlencoded";
90
- if (typeof payload.formUrlencoded === "object") {
91
- body = import_query_string.default.stringify(payload.formUrlencoded);
59
+ let headers;
60
+ let url;
61
+ if (httpMethodDecider === "inputParams") {
62
+ url = path;
63
+ body = args;
64
+ headers = {
65
+ "Content-Type": "application/json"
66
+ };
67
+ } else {
68
+ const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
69
+ payload.params = payload.params || {};
70
+ const requestParams = args[0];
71
+ if (typeof requestParams === "object" && requestParams.params) {
72
+ const { params } = requestParams;
73
+ keys.forEach((key) => {
74
+ payload.params[key.name] = params[key.name];
75
+ });
92
76
  } else {
93
- body = payload.formUrlencoded;
77
+ keys.forEach((key, index) => {
78
+ payload.params[key.name] = args[index];
79
+ });
94
80
  }
81
+ const plainPath = getFinalPath(payload.params);
82
+ const finalPath = payload.query ? `${plainPath}?${import_query_string.default.stringify(payload.query)}` : plainPath;
83
+ headers = payload.headers || {};
84
+ for (const key of realAllowedHeaders) {
85
+ if (typeof webRequestHeaders[key] !== "undefined") {
86
+ headers[key] = webRequestHeaders[key];
87
+ }
88
+ }
89
+ if (payload.data) {
90
+ headers["Content-Type"] = "application/json";
91
+ body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
92
+ } else if (payload.body) {
93
+ headers["Content-Type"] = "text/plain";
94
+ body = payload.body;
95
+ } else if (payload.formData) {
96
+ body = payload.formData;
97
+ } else if (payload.formUrlencoded) {
98
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
99
+ if (typeof payload.formUrlencoded === "object") {
100
+ body = import_query_string.default.stringify(payload.formUrlencoded);
101
+ } else {
102
+ body = payload.formUrlencoded;
103
+ }
104
+ }
105
+ url = `http://localhost:${port}${finalPath}`;
106
+ }
107
+ if (method.toLowerCase() === "get") {
108
+ body = void 0;
95
109
  }
96
- const url = `http://localhost:${port}${finalPath}`;
97
110
  const fetcher = realRequest || originFetch;
98
111
  if (method.toLowerCase() === "get") {
99
112
  body = void 0;
@@ -176,7 +176,7 @@ var configure = function(options) {
176
176
  }
177
177
  };
178
178
  var createRequest = function(path, method, port) {
179
- var fetch2 = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : originFetch;
179
+ var httpMethodDecider = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "functionName", fetch2 = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : originFetch;
180
180
  var getFinalPath = compile(path, {
181
181
  encode: encodeURIComponent
182
182
  });
@@ -184,47 +184,57 @@ var createRequest = function(path, method, port) {
184
184
  pathToRegexp(path, keys);
185
185
  var sender = function() {
186
186
  var _ref = _asyncToGenerator(function() {
187
- var _len, args, _key, fetcher, payload, requestParams, params, finalPath, finalURL, headers, body;
187
+ var _len, args, _key, fetcher, body, finalURL, headers, payload, requestParams, params, finalPath;
188
188
  var _arguments = arguments;
189
189
  return __generator(this, function(_state) {
190
190
  for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
191
191
  args[_key] = _arguments[_key];
192
192
  }
193
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];
194
+ if (httpMethodDecider === "inputParams") {
195
+ finalURL = path;
196
+ body = JSON.stringify({
197
+ args: args
201
198
  });
199
+ headers = {
200
+ "Content-Type": "application/json"
201
+ };
202
202
  } else {
203
- keys.forEach(function(key, index) {
204
- payload.params[key.name] = args[index];
205
- });
206
- }
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" && // eslint-disable-next-line @typescript-eslint/ban-ts-comment
222
- // @ts-expect-error
223
- // eslint-disable-next-line node/prefer-global/url-search-params,node/no-unsupported-features/node-builtins
224
- !_instanceof(payload.formUrlencoded, URLSearchParams)) {
225
- body = qs.stringify(payload.formUrlencoded);
203
+ payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
204
+ payload.params = payload.params || {};
205
+ requestParams = args[0];
206
+ if (typeof requestParams === "object" && requestParams.params) {
207
+ params = requestParams.params;
208
+ keys.forEach(function(key) {
209
+ payload.params[key.name] = params[key.name];
210
+ });
226
211
  } else {
227
- body = payload.formUrlencoded;
212
+ keys.forEach(function(key, index) {
213
+ payload.params[key.name] = args[index];
214
+ });
215
+ }
216
+ finalPath = getFinalPath(payload.params);
217
+ finalURL = payload.query ? "".concat(finalPath, "?").concat(qs.stringify(payload.query)) : finalPath;
218
+ headers = payload.headers || {};
219
+ body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
220
+ if (payload.data) {
221
+ headers["Content-Type"] = "application/json";
222
+ body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
223
+ } else if (payload.body) {
224
+ headers["Content-Type"] = "text/plain";
225
+ body = payload.body;
226
+ } else if (payload.formData) {
227
+ body = payload.formData;
228
+ } else if (payload.formUrlencoded) {
229
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
230
+ if (typeof payload.formUrlencoded === "object" && // eslint-disable-next-line @typescript-eslint/ban-ts-comment
231
+ // @ts-expect-error
232
+ // eslint-disable-next-line node/prefer-global/url-search-params,node/no-unsupported-features/node-builtins
233
+ !_instanceof(payload.formUrlencoded, URLSearchParams)) {
234
+ body = qs.stringify(payload.formUrlencoded);
235
+ } else {
236
+ body = payload.formUrlencoded;
237
+ }
228
238
  }
229
239
  }
230
240
  if (method.toLowerCase() === "get") {
package/dist/esm/node.js CHANGED
@@ -47,7 +47,7 @@ var configure = function(options) {
47
47
  }
48
48
  };
49
49
  var createRequest = function(path, method, port) {
50
- var fetch = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : nodeFetch;
50
+ var httpMethodDecider = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "functionName", fetch = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : nodeFetch;
51
51
  var getFinalPath = compile(path, {
52
52
  encode: encodeURIComponent
53
53
  });
@@ -58,62 +58,75 @@ var createRequest = function(path, method, port) {
58
58
  args[_key] = arguments[_key];
59
59
  }
60
60
  var webRequestHeaders = useHeaders();
61
- var payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
62
- payload.params = payload.params || {};
63
- var requestParams = args[0];
64
- if (typeof requestParams === "object" && requestParams.params) {
65
- var params = requestParams.params;
66
- keys.forEach(function(key) {
67
- payload.params[key.name] = params[key.name];
68
- });
69
- } else {
70
- keys.forEach(function(key, index) {
71
- payload.params[key.name] = args[index];
72
- });
73
- }
74
- var plainPath = getFinalPath(payload.params);
75
- var finalPath = payload.query ? "".concat(plainPath, "?").concat(qs.stringify(payload.query)) : plainPath;
76
- var headers = payload.headers || {};
77
61
  var body;
78
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
79
- try {
80
- for(var _iterator = realAllowedHeaders[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
81
- var key = _step.value;
82
- if (typeof webRequestHeaders[key] !== "undefined") {
83
- headers[key] = webRequestHeaders[key];
84
- }
62
+ var headers;
63
+ var url;
64
+ if (httpMethodDecider === "inputParams") {
65
+ url = path;
66
+ body = args;
67
+ headers = {
68
+ "Content-Type": "application/json"
69
+ };
70
+ } else {
71
+ var payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
72
+ payload.params = payload.params || {};
73
+ var requestParams = args[0];
74
+ if (typeof requestParams === "object" && requestParams.params) {
75
+ var params = requestParams.params;
76
+ keys.forEach(function(key) {
77
+ payload.params[key.name] = params[key.name];
78
+ });
79
+ } else {
80
+ keys.forEach(function(key, index) {
81
+ payload.params[key.name] = args[index];
82
+ });
85
83
  }
86
- } catch (err) {
87
- _didIteratorError = true;
88
- _iteratorError = err;
89
- } finally{
84
+ var plainPath = getFinalPath(payload.params);
85
+ var finalPath = payload.query ? "".concat(plainPath, "?").concat(qs.stringify(payload.query)) : plainPath;
86
+ headers = payload.headers || {};
87
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
90
88
  try {
91
- if (!_iteratorNormalCompletion && _iterator.return != null) {
92
- _iterator.return();
89
+ for(var _iterator = realAllowedHeaders[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
90
+ var key = _step.value;
91
+ if (typeof webRequestHeaders[key] !== "undefined") {
92
+ headers[key] = webRequestHeaders[key];
93
+ }
93
94
  }
95
+ } catch (err) {
96
+ _didIteratorError = true;
97
+ _iteratorError = err;
94
98
  } finally{
95
- if (_didIteratorError) {
96
- throw _iteratorError;
99
+ try {
100
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
101
+ _iterator.return();
102
+ }
103
+ } finally{
104
+ if (_didIteratorError) {
105
+ throw _iteratorError;
106
+ }
97
107
  }
98
108
  }
99
- }
100
- if (payload.data) {
101
- headers["Content-Type"] = "application/json";
102
- body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
103
- } else if (payload.body) {
104
- headers["Content-Type"] = "text/plain";
105
- body = payload.body;
106
- } else if (payload.formData) {
107
- body = payload.formData;
108
- } else if (payload.formUrlencoded) {
109
- headers["Content-Type"] = "application/x-www-form-urlencoded";
110
- if (typeof payload.formUrlencoded === "object") {
111
- body = qs.stringify(payload.formUrlencoded);
112
- } else {
113
- body = payload.formUrlencoded;
109
+ if (payload.data) {
110
+ headers["Content-Type"] = "application/json";
111
+ body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
112
+ } else if (payload.body) {
113
+ headers["Content-Type"] = "text/plain";
114
+ body = payload.body;
115
+ } else if (payload.formData) {
116
+ body = payload.formData;
117
+ } else if (payload.formUrlencoded) {
118
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
119
+ if (typeof payload.formUrlencoded === "object") {
120
+ body = qs.stringify(payload.formUrlencoded);
121
+ } else {
122
+ body = payload.formUrlencoded;
123
+ }
114
124
  }
125
+ url = "http://localhost:".concat(port).concat(finalPath);
126
+ }
127
+ if (method.toLowerCase() === "get") {
128
+ body = void 0;
115
129
  }
116
- var url = "http://localhost:".concat(port).concat(finalPath);
117
130
  var fetcher = realRequest || originFetch;
118
131
  if (method.toLowerCase() === "get") {
119
132
  body = void 0;
@@ -14,46 +14,59 @@ const configure = (options) => {
14
14
  realAllowedHeaders = allowedHeaders;
15
15
  }
16
16
  };
17
- const createRequest = (path, method, port, fetch2 = originFetch) => {
17
+ const createRequest = (path, method, port, httpMethodDecider = "functionName", fetch2 = originFetch) => {
18
18
  const getFinalPath = compile(path, { encode: encodeURIComponent });
19
19
  const keys = [];
20
20
  pathToRegexp(path, keys);
21
21
  const sender = async (...args) => {
22
22
  const fetcher = realRequest || originFetch;
23
- const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
24
- payload.params = payload.params || {};
25
- const requestParams = args[0];
26
- if (typeof requestParams === "object" && requestParams.params) {
27
- const { params } = requestParams;
28
- keys.forEach((key) => {
29
- payload.params[key.name] = params[key.name];
23
+ let body;
24
+ let finalURL;
25
+ let headers;
26
+ if (httpMethodDecider === "inputParams") {
27
+ finalURL = path;
28
+ body = JSON.stringify({
29
+ args
30
30
  });
31
+ headers = {
32
+ "Content-Type": "application/json"
33
+ };
31
34
  } else {
32
- keys.forEach((key, index) => {
33
- payload.params[key.name] = args[index];
34
- });
35
- }
36
- const finalPath = getFinalPath(payload.params);
37
- const finalURL = payload.query ? `${finalPath}?${qs.stringify(payload.query)}` : finalPath;
38
- const headers = payload.headers || {};
39
- let body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
40
- if (payload.data) {
41
- headers["Content-Type"] = "application/json";
42
- body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
43
- } else if (payload.body) {
44
- headers["Content-Type"] = "text/plain";
45
- body = payload.body;
46
- } else if (payload.formData) {
47
- body = payload.formData;
48
- } else if (payload.formUrlencoded) {
49
- headers["Content-Type"] = "application/x-www-form-urlencoded";
50
- if (typeof payload.formUrlencoded === "object" && // eslint-disable-next-line @typescript-eslint/ban-ts-comment
51
- // @ts-expect-error
52
- // eslint-disable-next-line node/prefer-global/url-search-params,node/no-unsupported-features/node-builtins
53
- !(payload.formUrlencoded instanceof URLSearchParams)) {
54
- body = qs.stringify(payload.formUrlencoded);
35
+ const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
36
+ payload.params = payload.params || {};
37
+ const requestParams = args[0];
38
+ if (typeof requestParams === "object" && requestParams.params) {
39
+ const { params } = requestParams;
40
+ keys.forEach((key) => {
41
+ payload.params[key.name] = params[key.name];
42
+ });
55
43
  } else {
56
- body = payload.formUrlencoded;
44
+ keys.forEach((key, index) => {
45
+ payload.params[key.name] = args[index];
46
+ });
47
+ }
48
+ const finalPath = getFinalPath(payload.params);
49
+ finalURL = payload.query ? `${finalPath}?${qs.stringify(payload.query)}` : finalPath;
50
+ headers = payload.headers || {};
51
+ body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
52
+ if (payload.data) {
53
+ headers["Content-Type"] = "application/json";
54
+ body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
55
+ } else if (payload.body) {
56
+ headers["Content-Type"] = "text/plain";
57
+ body = payload.body;
58
+ } else if (payload.formData) {
59
+ body = payload.formData;
60
+ } else if (payload.formUrlencoded) {
61
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
62
+ if (typeof payload.formUrlencoded === "object" && // eslint-disable-next-line @typescript-eslint/ban-ts-comment
63
+ // @ts-expect-error
64
+ // eslint-disable-next-line node/prefer-global/url-search-params,node/no-unsupported-features/node-builtins
65
+ !(payload.formUrlencoded instanceof URLSearchParams)) {
66
+ body = qs.stringify(payload.formUrlencoded);
67
+ } else {
68
+ body = payload.formUrlencoded;
69
+ }
57
70
  }
58
71
  }
59
72
  if (method.toLowerCase() === "get") {
@@ -16,51 +16,64 @@ const configure = (options) => {
16
16
  realAllowedHeaders = allowedHeaders;
17
17
  }
18
18
  };
19
- const createRequest = (path, method, port, fetch = nodeFetch) => {
19
+ const createRequest = (path, method, port, httpMethodDecider = "functionName", fetch = nodeFetch) => {
20
20
  const getFinalPath = compile(path, { encode: encodeURIComponent });
21
21
  const keys = [];
22
22
  pathToRegexp(path, keys);
23
23
  const sender = (...args) => {
24
24
  const webRequestHeaders = useHeaders();
25
- const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
26
- payload.params = payload.params || {};
27
- const requestParams = args[0];
28
- if (typeof requestParams === "object" && requestParams.params) {
29
- const { params } = requestParams;
30
- keys.forEach((key) => {
31
- payload.params[key.name] = params[key.name];
32
- });
33
- } else {
34
- keys.forEach((key, index) => {
35
- payload.params[key.name] = args[index];
36
- });
37
- }
38
- const plainPath = getFinalPath(payload.params);
39
- const finalPath = payload.query ? `${plainPath}?${qs.stringify(payload.query)}` : plainPath;
40
- const headers = payload.headers || {};
41
25
  let body;
42
- for (const key of realAllowedHeaders) {
43
- if (typeof webRequestHeaders[key] !== "undefined") {
44
- headers[key] = webRequestHeaders[key];
45
- }
46
- }
47
- if (payload.data) {
48
- headers["Content-Type"] = "application/json";
49
- body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
50
- } else if (payload.body) {
51
- headers["Content-Type"] = "text/plain";
52
- body = payload.body;
53
- } else if (payload.formData) {
54
- body = payload.formData;
55
- } else if (payload.formUrlencoded) {
56
- headers["Content-Type"] = "application/x-www-form-urlencoded";
57
- if (typeof payload.formUrlencoded === "object") {
58
- body = qs.stringify(payload.formUrlencoded);
26
+ let headers;
27
+ let url;
28
+ if (httpMethodDecider === "inputParams") {
29
+ url = path;
30
+ body = args;
31
+ headers = {
32
+ "Content-Type": "application/json"
33
+ };
34
+ } else {
35
+ const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
36
+ payload.params = payload.params || {};
37
+ const requestParams = args[0];
38
+ if (typeof requestParams === "object" && requestParams.params) {
39
+ const { params } = requestParams;
40
+ keys.forEach((key) => {
41
+ payload.params[key.name] = params[key.name];
42
+ });
59
43
  } else {
60
- body = payload.formUrlencoded;
44
+ keys.forEach((key, index) => {
45
+ payload.params[key.name] = args[index];
46
+ });
61
47
  }
48
+ const plainPath = getFinalPath(payload.params);
49
+ const finalPath = payload.query ? `${plainPath}?${qs.stringify(payload.query)}` : plainPath;
50
+ headers = payload.headers || {};
51
+ for (const key of realAllowedHeaders) {
52
+ if (typeof webRequestHeaders[key] !== "undefined") {
53
+ headers[key] = webRequestHeaders[key];
54
+ }
55
+ }
56
+ if (payload.data) {
57
+ headers["Content-Type"] = "application/json";
58
+ body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
59
+ } else if (payload.body) {
60
+ headers["Content-Type"] = "text/plain";
61
+ body = payload.body;
62
+ } else if (payload.formData) {
63
+ body = payload.formData;
64
+ } else if (payload.formUrlencoded) {
65
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
66
+ if (typeof payload.formUrlencoded === "object") {
67
+ body = qs.stringify(payload.formUrlencoded);
68
+ } else {
69
+ body = payload.formUrlencoded;
70
+ }
71
+ }
72
+ url = `http://localhost:${port}${finalPath}`;
73
+ }
74
+ if (method.toLowerCase() === "get") {
75
+ body = void 0;
62
76
  }
63
- const url = `http://localhost:${port}${finalPath}`;
64
77
  const fetcher = realRequest || originFetch;
65
78
  if (method.toLowerCase() === "get") {
66
79
  body = void 0;