caccl-send-request 2.2.2 → 2.2.4
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/lib/index.js +27 -7
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +31 -6
package/lib/index.js
CHANGED
|
@@ -74,7 +74,7 @@ var thisIsDev = (process.env.NODE_ENV === 'development');
|
|
|
74
74
|
* @returns { body, status, headers } on success
|
|
75
75
|
*/
|
|
76
76
|
var sendRequest = function (opts) { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
-
var sendCrossDomainCredentials, numRetries, method, stringifiedParams, query, url, headers, data, response, responseHeaders_1, responseBody, jsonErr_1, err_1;
|
|
77
|
+
var sendCrossDomainCredentials, numRetries, method, params, stringifiedParams, query, url, headers, data, encodedData, response, responseHeaders_1, responseBody, jsonErr_1, err_1;
|
|
78
78
|
var _a;
|
|
79
79
|
return __generator(this, function (_b) {
|
|
80
80
|
switch (_b.label) {
|
|
@@ -84,7 +84,19 @@ var sendRequest = function (opts) { return __awaiter(void 0, void 0, void 0, fun
|
|
|
84
84
|
|| ((_a = opts.headers) === null || _a === void 0 ? void 0 : _a.credentials) === 'include');
|
|
85
85
|
numRetries = (opts.numRetries ? opts.numRetries : 0);
|
|
86
86
|
method = (opts.method || 'GET');
|
|
87
|
-
|
|
87
|
+
if (opts.params) {
|
|
88
|
+
params = {};
|
|
89
|
+
Object.entries(opts.params).forEach(function (_a) {
|
|
90
|
+
var key = _a[0], val = _a[1];
|
|
91
|
+
if (typeof val === 'object') {
|
|
92
|
+
params[key] = JSON.stringify(val);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
params[key] = val;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
stringifiedParams = qs_1.default.stringify(params || {}, {
|
|
88
100
|
encodeValuesOnly: true,
|
|
89
101
|
arrayFormat: 'brackets',
|
|
90
102
|
});
|
|
@@ -100,13 +112,21 @@ var sendRequest = function (opts) { return __awaiter(void 0, void 0, void 0, fun
|
|
|
100
112
|
data = null;
|
|
101
113
|
if (!headers['Content-Type']) {
|
|
102
114
|
// Form encoded
|
|
103
|
-
headers['Content-Type'] = 'application/
|
|
115
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
104
116
|
// Add data if applicable
|
|
105
117
|
data = (method !== 'GET' ? stringifiedParams : null);
|
|
106
118
|
}
|
|
107
119
|
else {
|
|
108
120
|
// JSON encode
|
|
109
|
-
data =
|
|
121
|
+
data = params;
|
|
122
|
+
}
|
|
123
|
+
if (data) {
|
|
124
|
+
if (headers['Content-Type'] === 'application/x-www-form-urlencoded') {
|
|
125
|
+
encodedData = new URLSearchParams(params);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
encodedData = JSON.stringify(data);
|
|
129
|
+
}
|
|
110
130
|
}
|
|
111
131
|
_b.label = 1;
|
|
112
132
|
case 1:
|
|
@@ -115,14 +135,14 @@ var sendRequest = function (opts) { return __awaiter(void 0, void 0, void 0, fun
|
|
|
115
135
|
method: method,
|
|
116
136
|
mode: 'cors',
|
|
117
137
|
headers: headers !== null && headers !== void 0 ? headers : {},
|
|
118
|
-
body: ((method !== 'GET' &&
|
|
119
|
-
?
|
|
138
|
+
body: ((method !== 'GET' && encodedData)
|
|
139
|
+
? encodedData
|
|
120
140
|
: undefined),
|
|
121
141
|
credentials: (sendCrossDomainCredentials
|
|
122
142
|
? 'include'
|
|
123
143
|
: 'same-origin'),
|
|
124
144
|
redirect: 'follow',
|
|
125
|
-
referrerPolicy: (sendCrossDomainCredentials ? '
|
|
145
|
+
referrerPolicy: (sendCrossDomainCredentials ? 'origin' : undefined),
|
|
126
146
|
})];
|
|
127
147
|
case 2:
|
|
128
148
|
response = _b.sent();
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,0CAAoB;AAEpB,0BAA0B;AAC1B,4DAAqC;AAErC,sBAAsB;AACtB,0DAAoC;AAEpC,6CAA6C;AAC7C,IAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AACH,IAAM,WAAW,GAAG,UAClB,IAQC;;;;;;gBAOK,0BAA0B,GAAG,CAAC,CAAC,CACnC,IAAI,CAAC,0BAA0B;uBAC5B,SAAS;uBACT,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,MAAK,SAAS,CAC3C,CAAC;gBAGI,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAGrD,MAAM,GAAwC,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "caccl-send-request",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.4",
|
|
4
4
|
"description": "The default request sender used throughout the CACCL project.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"typescript": "^4.5.5"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"caccl-error": "^2.2.
|
|
39
|
+
"caccl-error": "^2.2.4",
|
|
40
40
|
"qs": "^6.9.6"
|
|
41
41
|
}
|
|
42
42
|
}
|
package/src/index.ts
CHANGED
|
@@ -53,8 +53,23 @@ const sendRequest = async (
|
|
|
53
53
|
// Process method
|
|
54
54
|
const method: ('GET' | 'POST' | 'PUT' | 'DELETE') = (opts.method || 'GET');
|
|
55
55
|
|
|
56
|
+
// Encode objects within params
|
|
57
|
+
let params: {
|
|
58
|
+
[k in string]: any
|
|
59
|
+
} | undefined;
|
|
60
|
+
if (opts.params) {
|
|
61
|
+
params = {};
|
|
62
|
+
Object.entries(opts.params).forEach(([key, val]) => {
|
|
63
|
+
if (typeof val === 'object') {
|
|
64
|
+
(params as any)[key] = JSON.stringify(val);
|
|
65
|
+
} else {
|
|
66
|
+
(params as any)[key] = val;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
56
71
|
// Stringify parameters
|
|
57
|
-
const stringifiedParams = qs.stringify(
|
|
72
|
+
const stringifiedParams = qs.stringify(params || {}, {
|
|
58
73
|
encodeValuesOnly: true,
|
|
59
74
|
arrayFormat: 'brackets',
|
|
60
75
|
});
|
|
@@ -74,12 +89,22 @@ const sendRequest = async (
|
|
|
74
89
|
let data = null;
|
|
75
90
|
if (!headers['Content-Type']) {
|
|
76
91
|
// Form encoded
|
|
77
|
-
headers['Content-Type'] = 'application/
|
|
92
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
78
93
|
// Add data if applicable
|
|
79
94
|
data = (method !== 'GET' ? stringifiedParams : null);
|
|
80
95
|
} else {
|
|
81
96
|
// JSON encode
|
|
82
|
-
data =
|
|
97
|
+
data = params;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Encode data
|
|
101
|
+
let encodedData: URLSearchParams | string | undefined;
|
|
102
|
+
if (data) {
|
|
103
|
+
if (headers['Content-Type'] === 'application/x-www-form-urlencoded') {
|
|
104
|
+
encodedData = new URLSearchParams(params);
|
|
105
|
+
} else {
|
|
106
|
+
encodedData = JSON.stringify(data);
|
|
107
|
+
}
|
|
83
108
|
}
|
|
84
109
|
|
|
85
110
|
// Send request
|
|
@@ -91,8 +116,8 @@ const sendRequest = async (
|
|
|
91
116
|
mode: 'cors',
|
|
92
117
|
headers: headers ?? {},
|
|
93
118
|
body: (
|
|
94
|
-
(method !== 'GET' &&
|
|
95
|
-
?
|
|
119
|
+
(method !== 'GET' && encodedData)
|
|
120
|
+
? encodedData
|
|
96
121
|
: undefined
|
|
97
122
|
),
|
|
98
123
|
credentials: (
|
|
@@ -101,7 +126,7 @@ const sendRequest = async (
|
|
|
101
126
|
: 'same-origin'
|
|
102
127
|
),
|
|
103
128
|
redirect: 'follow',
|
|
104
|
-
referrerPolicy: (sendCrossDomainCredentials ? '
|
|
129
|
+
referrerPolicy: (sendCrossDomainCredentials ? 'origin' : undefined),
|
|
105
130
|
},
|
|
106
131
|
);
|
|
107
132
|
|