@nestia/fetcher 1.5.0-dev.20230801 → 1.5.0-dev.20230802
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/Fetcher.js +22 -23
- package/lib/Fetcher.js.map +1 -1
- package/package.json +1 -1
- package/src/Fetcher.ts +17 -12
package/lib/Fetcher.js
CHANGED
|
@@ -100,22 +100,26 @@ var Fetcher = /** @class */ (function () {
|
|
|
100
100
|
function Fetcher() {
|
|
101
101
|
}
|
|
102
102
|
Fetcher.fetch = function (connection, encrypted, method, path, input, stringify) {
|
|
103
|
-
var _a, _b;
|
|
103
|
+
var _a, _b, _c, _d, _e;
|
|
104
104
|
return __awaiter(this, void 0, void 0, function () {
|
|
105
|
-
var init, url, response, text, content, ret;
|
|
106
|
-
return __generator(this, function (
|
|
107
|
-
switch (
|
|
105
|
+
var headers, init, url, response, text, content, ret;
|
|
106
|
+
return __generator(this, function (_f) {
|
|
107
|
+
switch (_f.label) {
|
|
108
108
|
case 0:
|
|
109
109
|
if (encrypted.request === true || encrypted.response === true)
|
|
110
110
|
if (connection.encryption === undefined)
|
|
111
111
|
throw new Error("Error on nestia.Fetcher.encrypt(): the encryption password has not been configured.");
|
|
112
|
-
|
|
112
|
+
headers = __assign(__assign({}, ((_a = connection.headers) !== null && _a !== void 0 ? _a : {})), { "Content-Type": input !== undefined
|
|
113
|
+
? ((_c = (_b = connection.headers) === null || _b === void 0 ? void 0 : _b["Content-Type"]) !== null && _c !== void 0 ? _c : (encrypted.request || typeof input === "string"))
|
|
114
|
+
? "text/plain"
|
|
115
|
+
: "application/json"
|
|
116
|
+
: undefined });
|
|
117
|
+
init = __assign(__assign({}, ((_d = connection.options) !== null && _d !== void 0 ? _d : {})), { method: method, headers: (function () {
|
|
113
118
|
var e_1, _a, e_2, _b;
|
|
114
|
-
var _c, _d;
|
|
115
119
|
var output = [];
|
|
116
120
|
try {
|
|
117
|
-
for (var
|
|
118
|
-
var
|
|
121
|
+
for (var _c = __values(Object.entries(headers)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
122
|
+
var _e = __read(_d.value, 2), key = _e[0], value = _e[1];
|
|
119
123
|
if (value === undefined)
|
|
120
124
|
continue;
|
|
121
125
|
else if (Array.isArray(value))
|
|
@@ -139,24 +143,19 @@ var Fetcher = /** @class */ (function () {
|
|
|
139
143
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
140
144
|
finally {
|
|
141
145
|
try {
|
|
142
|
-
if (
|
|
146
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
143
147
|
}
|
|
144
148
|
finally { if (e_1) throw e_1.error; }
|
|
145
149
|
}
|
|
146
|
-
if (((_d = connection.headers) === null || _d === void 0 ? void 0 : _d["Content-Type"]) === undefined)
|
|
147
|
-
output.push([
|
|
148
|
-
"Content-Type",
|
|
149
|
-
encrypted.request || typeof input === "string"
|
|
150
|
-
? "text/plain"
|
|
151
|
-
: "application/json",
|
|
152
|
-
]);
|
|
153
150
|
return output;
|
|
154
151
|
})() });
|
|
155
152
|
// REQUEST BODY (WITH ENCRYPTION)
|
|
156
153
|
if (input !== undefined)
|
|
157
154
|
init.body = (function () {
|
|
158
|
-
var json =
|
|
159
|
-
|
|
155
|
+
var json = headers["Content-Type"] !== "text/plain"
|
|
156
|
+
? (stringify !== null && stringify !== void 0 ? stringify : JSON.stringify)(input)
|
|
157
|
+
: String(input);
|
|
158
|
+
if (encrypted.request !== true)
|
|
160
159
|
return json;
|
|
161
160
|
var password = connection.encryption instanceof Function
|
|
162
161
|
? connection.encryption({
|
|
@@ -175,12 +174,12 @@ var Fetcher = /** @class */ (function () {
|
|
|
175
174
|
path = "/" + path;
|
|
176
175
|
url = new URL("".concat(connection.host).concat(path));
|
|
177
176
|
return [4 /*yield*/, polyfill.get()];
|
|
178
|
-
case 1: return [4 /*yield*/, (
|
|
177
|
+
case 1: return [4 /*yield*/, (_f.sent())(url.href, init)];
|
|
179
178
|
case 2:
|
|
180
|
-
response =
|
|
179
|
+
response = _f.sent();
|
|
181
180
|
return [4 /*yield*/, response.text()];
|
|
182
181
|
case 3:
|
|
183
|
-
text =
|
|
182
|
+
text = _f.sent();
|
|
184
183
|
if (!text)
|
|
185
184
|
return [2 /*return*/, undefined];
|
|
186
185
|
// CHECK THE STATUS CODE
|
|
@@ -205,7 +204,7 @@ var Fetcher = /** @class */ (function () {
|
|
|
205
204
|
try {
|
|
206
205
|
// PARSE RESPONSE BODY
|
|
207
206
|
if (encrypted.response ||
|
|
208
|
-
((
|
|
207
|
+
((_e = response.headers.get("Content-Type")) !== null && _e !== void 0 ? _e : "").indexOf("application/json") !== -1)
|
|
209
208
|
ret = JSON.parse(ret);
|
|
210
209
|
// FIND __SET_HEADERS__ FIELD
|
|
211
210
|
if (ret.__set_headers__ !== undefined &&
|
|
@@ -215,7 +214,7 @@ var Fetcher = /** @class */ (function () {
|
|
|
215
214
|
Object.assign(connection.headers, ret.__set_headers__);
|
|
216
215
|
}
|
|
217
216
|
}
|
|
218
|
-
catch (
|
|
217
|
+
catch (_g) { }
|
|
219
218
|
// RETURNS
|
|
220
219
|
return [2 /*return*/, ret];
|
|
221
220
|
}
|
package/lib/Fetcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fetcher.js","sourceRoot":"","sources":["../src/Fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAM9B,uCAAsC;AACtC,yCAAwC;AACxC,kDAAiD;AAEjD;;;;;;;;;;;;;GAaG;AACH;IAAA;
|
|
1
|
+
{"version":3,"file":"Fetcher.js","sourceRoot":"","sources":["../src/Fetcher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Fetcher.ts
CHANGED
|
@@ -77,25 +77,27 @@ export class Fetcher {
|
|
|
77
77
|
// REQUEST MESSSAGE
|
|
78
78
|
//----
|
|
79
79
|
// METHOD & HEADERS
|
|
80
|
+
const headers: Record<string, IConnection.HeaderValue | undefined> = {
|
|
81
|
+
...(connection.headers ?? {}),
|
|
82
|
+
"Content-Type":
|
|
83
|
+
input !== undefined
|
|
84
|
+
? connection.headers?.["Content-Type"] ??
|
|
85
|
+
(encrypted.request || typeof input === "string")
|
|
86
|
+
? "text/plain"
|
|
87
|
+
: "application/json"
|
|
88
|
+
: undefined,
|
|
89
|
+
};
|
|
90
|
+
|
|
80
91
|
const init: RequestInit = {
|
|
81
92
|
...(connection.options ?? {}),
|
|
82
93
|
method,
|
|
83
94
|
headers: (() => {
|
|
84
95
|
const output: [string, string][] = [];
|
|
85
|
-
for (const [key, value] of Object.entries(
|
|
86
|
-
connection.headers ?? {},
|
|
87
|
-
))
|
|
96
|
+
for (const [key, value] of Object.entries(headers))
|
|
88
97
|
if (value === undefined) continue;
|
|
89
98
|
else if (Array.isArray(value))
|
|
90
99
|
for (const v of value) output.push([key, String(v)]);
|
|
91
100
|
else output.push([key, String(value)]);
|
|
92
|
-
if (connection.headers?.["Content-Type"] === undefined)
|
|
93
|
-
output.push([
|
|
94
|
-
"Content-Type",
|
|
95
|
-
encrypted.request || typeof input === "string"
|
|
96
|
-
? "text/plain"
|
|
97
|
-
: "application/json",
|
|
98
|
-
]);
|
|
99
101
|
return output;
|
|
100
102
|
})(),
|
|
101
103
|
};
|
|
@@ -103,8 +105,11 @@ export class Fetcher {
|
|
|
103
105
|
// REQUEST BODY (WITH ENCRYPTION)
|
|
104
106
|
if (input !== undefined)
|
|
105
107
|
init.body = (() => {
|
|
106
|
-
const json: string =
|
|
107
|
-
|
|
108
|
+
const json: string =
|
|
109
|
+
headers["Content-Type"] !== "text/plain"
|
|
110
|
+
? (stringify ?? JSON.stringify)(input)
|
|
111
|
+
: String(input);
|
|
112
|
+
if (encrypted.request !== true) return json;
|
|
108
113
|
|
|
109
114
|
const password:
|
|
110
115
|
| IEncryptionPassword
|