@nestia/fetcher 3.0.0-dev.20231209 → 3.0.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.
- package/README.md +12 -9
- package/lib/{internal/AesPkcs5.d.ts → AesPkcs5.d.ts} +2 -2
- package/lib/{internal/AesPkcs5.js → AesPkcs5.js} +8 -16
- package/lib/AesPkcs5.js.map +1 -0
- package/lib/EncryptedFetcher.d.ts +3 -4
- package/lib/EncryptedFetcher.js +8 -11
- package/lib/EncryptedFetcher.js.map +1 -1
- package/lib/IConnection.d.ts +11 -2
- package/lib/IEncryptionPassword.d.ts +2 -8
- package/lib/IFetchEvent.d.ts +11 -0
- package/lib/IFetchEvent.js +21 -0
- package/lib/IFetchEvent.js.map +1 -0
- package/lib/{internal/IFetchRoute.d.ts → IFetchRoute.d.ts} +1 -1
- package/lib/{internal/IFetchRoute.js.map → IFetchRoute.js.map} +1 -1
- package/lib/NestiaSimulator.d.ts +13 -0
- package/lib/NestiaSimulator.js +62 -0
- package/lib/NestiaSimulator.js.map +1 -0
- package/lib/PlainFetcher.d.ts +3 -4
- package/lib/PlainFetcher.js +2 -2
- package/lib/PlainFetcher.js.map +1 -1
- package/lib/Resolved.d.ts +5 -5
- package/lib/index.d.ts +3 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/internal/FetcherBase.d.ts +5 -6
- package/lib/internal/FetcherBase.js +143 -70
- package/lib/internal/FetcherBase.js.map +1 -1
- package/package.json +2 -2
- package/src/{internal/AesPkcs5.ts → AesPkcs5.ts} +50 -66
- package/src/EncryptedFetcher.ts +174 -179
- package/src/HttpError.ts +85 -85
- package/src/IConnection.ts +247 -237
- package/src/IEncryptionPassword.ts +50 -56
- package/src/IFetchEvent.ts +31 -0
- package/src/{internal/IFetchRoute.ts → IFetchRoute.ts} +62 -62
- package/src/IPropagation.ts +102 -102
- package/src/IRandomGenerator.ts +38 -38
- package/src/NestiaSimulator.ts +82 -0
- package/src/PlainFetcher.ts +105 -106
- package/src/Primitive.ts +136 -135
- package/src/Resolved.ts +119 -116
- package/src/index.ts +9 -7
- package/src/internal/FetcherBase.ts +124 -72
- package/src/internal/Singleton.ts +20 -20
- package/lib/internal/AesPkcs5.js.map +0 -1
- /package/lib/{internal/IFetchRoute.js → IFetchRoute.js} +0 -0
|
@@ -118,19 +118,19 @@ var FetcherBase;
|
|
|
118
118
|
*/
|
|
119
119
|
var _Propagate = function (method) {
|
|
120
120
|
return function (props) {
|
|
121
|
-
return function (connection,
|
|
122
|
-
var headers, init, path, url, response, _a, result, _b, type, text, query, _c, _d, _e, _f,
|
|
123
|
-
var _j, _k, _l, _m, _o, _p, _q, _r
|
|
124
|
-
return __generator(this, function (
|
|
125
|
-
switch (
|
|
121
|
+
return function (connection, metadata, input, stringify) { return __awaiter(_this, void 0, void 0, function () {
|
|
122
|
+
var headers, init, path, url, event, response, _a, result, _b, type, text, query, _c, _d, _e, _f, exp_1, _g;
|
|
123
|
+
var _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
124
|
+
return __generator(this, function (_s) {
|
|
125
|
+
switch (_s.label) {
|
|
126
126
|
case 0:
|
|
127
|
-
headers = __assign({}, ((
|
|
128
|
-
if (input !== undefined)
|
|
129
|
-
if (((
|
|
127
|
+
headers = __assign({}, ((_h = connection.headers) !== null && _h !== void 0 ? _h : {}));
|
|
128
|
+
if (input !== undefined)
|
|
129
|
+
if (((_j = metadata.request) === null || _j === void 0 ? void 0 : _j.type) === undefined)
|
|
130
130
|
throw new Error("Error on ".concat(props.className, ".fetch(): no content-type being configured."));
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
init = __assign(__assign({}, ((
|
|
131
|
+
else if (metadata.request.type !== "multipart/form-data")
|
|
132
|
+
headers["Content-Type"] = metadata.request.type;
|
|
133
|
+
init = __assign(__assign({}, ((_k = connection.options) !== null && _k !== void 0 ? _k : {})), { method: metadata.method, headers: (function () {
|
|
134
134
|
var e_1, _a, e_2, _b;
|
|
135
135
|
var output = [];
|
|
136
136
|
try {
|
|
@@ -169,42 +169,58 @@ var FetcherBase;
|
|
|
169
169
|
if (input !== undefined)
|
|
170
170
|
init.body = props.encode(
|
|
171
171
|
// BODY TRANSFORM
|
|
172
|
-
((
|
|
172
|
+
((_l = metadata.request) === null || _l === void 0 ? void 0 : _l.type) === "application/x-www-form-urlencoded"
|
|
173
173
|
? request_query_body(input)
|
|
174
|
-
: ((
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
174
|
+
: ((_m = metadata.request) === null || _m === void 0 ? void 0 : _m.type) === "multipart/form-data"
|
|
175
|
+
? request_form_data_body(input)
|
|
176
|
+
: ((_o = metadata.request) === null || _o === void 0 ? void 0 : _o.type) !== "text/plain"
|
|
177
|
+
? (stringify !== null && stringify !== void 0 ? stringify : JSON.stringify)(input)
|
|
178
|
+
: input, headers);
|
|
178
179
|
path = connection.host[connection.host.length - 1] !== "/" &&
|
|
179
|
-
|
|
180
|
-
? "/".concat(
|
|
181
|
-
:
|
|
180
|
+
metadata.path[0] !== "/"
|
|
181
|
+
? "/".concat(metadata.path)
|
|
182
|
+
: metadata.path;
|
|
182
183
|
url = new URL("".concat(connection.host).concat(path));
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
184
|
+
event = {
|
|
185
|
+
route: metadata,
|
|
186
|
+
path: path,
|
|
187
|
+
status: null,
|
|
188
|
+
input: input,
|
|
189
|
+
output: undefined,
|
|
190
|
+
started_at: new Date(),
|
|
191
|
+
respond_at: null,
|
|
192
|
+
completed_at: null,
|
|
193
|
+
};
|
|
194
|
+
_s.label = 1;
|
|
195
|
+
case 1:
|
|
196
|
+
_s.trys.push([1, 15, 16, 21]);
|
|
197
|
+
if (!((_p = connection.fetch) !== null && _p !== void 0)) return [3 /*break*/, 2];
|
|
198
|
+
_a = _p;
|
|
199
|
+
return [3 /*break*/, 4];
|
|
200
|
+
case 2: return [4 /*yield*/, polyfill.get()];
|
|
201
|
+
case 3:
|
|
202
|
+
_a = (_s.sent());
|
|
203
|
+
_s.label = 4;
|
|
204
|
+
case 4: return [4 /*yield*/, (_a)(url.href, init)];
|
|
205
|
+
case 5:
|
|
206
|
+
response = _s.sent();
|
|
207
|
+
event.respond_at = new Date();
|
|
208
|
+
event.status = response.status;
|
|
193
209
|
result = {
|
|
194
210
|
success: response.status === 200 ||
|
|
195
211
|
response.status === 201 ||
|
|
196
|
-
response.status ==
|
|
212
|
+
response.status == metadata.status,
|
|
197
213
|
status: response.status,
|
|
198
214
|
headers: response_headers_to_object(response.headers),
|
|
199
215
|
data: undefined,
|
|
200
216
|
};
|
|
201
|
-
if (!(result.success === false)) return [3 /*break*/,
|
|
217
|
+
if (!(result.success === false)) return [3 /*break*/, 7];
|
|
202
218
|
// WHEN FAILED
|
|
203
219
|
_b = result;
|
|
204
220
|
return [4 /*yield*/, response.text()];
|
|
205
|
-
case
|
|
221
|
+
case 6:
|
|
206
222
|
// WHEN FAILED
|
|
207
|
-
_b.data =
|
|
223
|
+
_b.data = _s.sent();
|
|
208
224
|
type = response.headers.get("content-type");
|
|
209
225
|
if (method !== "fetch" &&
|
|
210
226
|
type &&
|
|
@@ -212,44 +228,57 @@ var FetcherBase;
|
|
|
212
228
|
try {
|
|
213
229
|
result.data = JSON.parse(result.data);
|
|
214
230
|
}
|
|
215
|
-
catch (
|
|
216
|
-
return [3 /*break*/,
|
|
217
|
-
case 6:
|
|
218
|
-
if (!(route.method === "HEAD")) return [3 /*break*/, 7];
|
|
219
|
-
result.data = undefined;
|
|
220
|
-
return [3 /*break*/, 15];
|
|
231
|
+
catch (_t) { }
|
|
232
|
+
return [3 /*break*/, 14];
|
|
221
233
|
case 7:
|
|
222
|
-
if (!(
|
|
223
|
-
|
|
234
|
+
if (!(metadata.method === "HEAD")) return [3 /*break*/, 8];
|
|
235
|
+
result.data = undefined;
|
|
236
|
+
return [3 /*break*/, 14];
|
|
224
237
|
case 8:
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return [3 /*break*/, 15];
|
|
238
|
+
if (!(((_q = metadata.response) === null || _q === void 0 ? void 0 : _q.type) === "application/json")) return [3 /*break*/, 10];
|
|
239
|
+
return [4 /*yield*/, response.text()];
|
|
228
240
|
case 9:
|
|
229
|
-
|
|
241
|
+
text = _s.sent();
|
|
242
|
+
result.data = text.length ? JSON.parse(text) : undefined;
|
|
243
|
+
return [3 /*break*/, 14];
|
|
244
|
+
case 10:
|
|
245
|
+
if (!(((_r = metadata.response) === null || _r === void 0 ? void 0 : _r.type) === "application/x-www-form-urlencoded")) return [3 /*break*/, 12];
|
|
230
246
|
_c = URLSearchParams.bind;
|
|
231
247
|
return [4 /*yield*/, response.text()];
|
|
232
|
-
case 10:
|
|
233
|
-
query = new (_c.apply(URLSearchParams, [void 0, _u.sent()]))();
|
|
234
|
-
result.data = route.parseQuery ? route.parseQuery(query) : query;
|
|
235
|
-
return [3 /*break*/, 15];
|
|
236
248
|
case 11:
|
|
237
|
-
|
|
249
|
+
query = new (_c.apply(URLSearchParams, [void 0, _s.sent()]))();
|
|
250
|
+
result.data = metadata.parseQuery
|
|
251
|
+
? metadata.parseQuery(query)
|
|
252
|
+
: query;
|
|
253
|
+
return [3 /*break*/, 14];
|
|
254
|
+
case 12:
|
|
238
255
|
_d = result;
|
|
239
256
|
_f = (_e = props).decode;
|
|
240
|
-
_g = Uint8Array.bind;
|
|
241
|
-
return [4 /*yield*/, response.arrayBuffer()];
|
|
242
|
-
case 12:
|
|
243
|
-
_d.data = _f.apply(_e, [new (_g.apply(Uint8Array, [void 0, _u.sent()]))(),
|
|
244
|
-
result.headers]);
|
|
245
|
-
return [3 /*break*/, 15];
|
|
246
|
-
case 13:
|
|
247
|
-
_h = result;
|
|
248
257
|
return [4 /*yield*/, response.text()];
|
|
258
|
+
case 13:
|
|
259
|
+
_d.data = _f.apply(_e, [_s.sent(), result.headers]);
|
|
260
|
+
_s.label = 14;
|
|
249
261
|
case 14:
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
case 15:
|
|
262
|
+
event.output = result.data;
|
|
263
|
+
return [2 /*return*/, result];
|
|
264
|
+
case 15:
|
|
265
|
+
exp_1 = _s.sent();
|
|
266
|
+
throw exp_1;
|
|
267
|
+
case 16:
|
|
268
|
+
event.completed_at = new Date();
|
|
269
|
+
if (!connection.logger) return [3 /*break*/, 20];
|
|
270
|
+
_s.label = 17;
|
|
271
|
+
case 17:
|
|
272
|
+
_s.trys.push([17, 19, , 20]);
|
|
273
|
+
return [4 /*yield*/, connection.logger(event)];
|
|
274
|
+
case 18:
|
|
275
|
+
_s.sent();
|
|
276
|
+
return [3 /*break*/, 20];
|
|
277
|
+
case 19:
|
|
278
|
+
_g = _s.sent();
|
|
279
|
+
return [3 /*break*/, 20];
|
|
280
|
+
case 20: return [7 /*endfinally*/];
|
|
281
|
+
case 21: return [2 /*return*/];
|
|
253
282
|
}
|
|
254
283
|
});
|
|
255
284
|
}); };
|
|
@@ -260,31 +289,40 @@ var FetcherBase;
|
|
|
260
289
|
* @internal
|
|
261
290
|
*/
|
|
262
291
|
var polyfill = new Singleton_1.Singleton(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
263
|
-
|
|
292
|
+
function is_node_process(m) {
|
|
293
|
+
return (m !== null &&
|
|
294
|
+
typeof m.process === "object" &&
|
|
295
|
+
m.process !== null &&
|
|
296
|
+
typeof m.process.versions === "object" &&
|
|
297
|
+
m.process.versions !== null &&
|
|
298
|
+
typeof m.process.versions.node !== "undefined");
|
|
299
|
+
}
|
|
300
|
+
var m, _a, _b;
|
|
264
301
|
var _c;
|
|
265
302
|
return __generator(this, function (_d) {
|
|
266
303
|
switch (_d.label) {
|
|
267
304
|
case 0:
|
|
268
|
-
if (!(typeof global === "object" &&
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
typeof global.process.versions.node !== undefined)) return [3 /*break*/, 4];
|
|
272
|
-
if (!((_c = global.fetch) !== null && _c !== void 0)) return [3 /*break*/, 1];
|
|
305
|
+
if (!(typeof global === "object" && is_node_process(global))) return [3 /*break*/, 4];
|
|
306
|
+
m = global;
|
|
307
|
+
if (!((_c = m.fetch) !== null && _c !== void 0)) return [3 /*break*/, 1];
|
|
273
308
|
_a = _c;
|
|
274
309
|
return [3 /*break*/, 3];
|
|
275
310
|
case 1:
|
|
276
|
-
_b =
|
|
311
|
+
_b = m;
|
|
277
312
|
return [4 /*yield*/, (0, import2_1.default)("node-fetch")];
|
|
278
313
|
case 2:
|
|
279
314
|
_a = (_b.fetch = (_d.sent()).default);
|
|
280
315
|
_d.label = 3;
|
|
281
316
|
case 3:
|
|
282
317
|
_a;
|
|
283
|
-
return [2 /*return*/,
|
|
284
|
-
case 4: return [2 /*return*/,
|
|
318
|
+
return [2 /*return*/, m.fetch];
|
|
319
|
+
case 4: return [2 /*return*/, self.fetch];
|
|
285
320
|
}
|
|
286
321
|
});
|
|
287
322
|
}); });
|
|
323
|
+
/**
|
|
324
|
+
* @internal
|
|
325
|
+
*/
|
|
288
326
|
var request_query_body = function (input) {
|
|
289
327
|
var e_3, _a;
|
|
290
328
|
var q = new URLSearchParams();
|
|
@@ -311,6 +349,41 @@ var request_query_body = function (input) {
|
|
|
311
349
|
}
|
|
312
350
|
return q;
|
|
313
351
|
};
|
|
352
|
+
/**
|
|
353
|
+
* @internal
|
|
354
|
+
*/
|
|
355
|
+
var request_form_data_body = function (input) {
|
|
356
|
+
var e_4, _a;
|
|
357
|
+
var encoded = new FormData();
|
|
358
|
+
var append = function (key) { return function (value) {
|
|
359
|
+
if (value === undefined)
|
|
360
|
+
return;
|
|
361
|
+
else if (value instanceof Blob)
|
|
362
|
+
if (value instanceof File)
|
|
363
|
+
encoded.append(key, value, value.name);
|
|
364
|
+
else
|
|
365
|
+
encoded.append(key, value);
|
|
366
|
+
else
|
|
367
|
+
encoded.append(key, String(value));
|
|
368
|
+
}; };
|
|
369
|
+
try {
|
|
370
|
+
for (var _b = __values(Object.entries(input)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
371
|
+
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
|
|
372
|
+
if (Array.isArray(value))
|
|
373
|
+
value.map(append(key));
|
|
374
|
+
else
|
|
375
|
+
append(key)(value);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
379
|
+
finally {
|
|
380
|
+
try {
|
|
381
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
382
|
+
}
|
|
383
|
+
finally { if (e_4) throw e_4.error; }
|
|
384
|
+
}
|
|
385
|
+
return encoded;
|
|
386
|
+
};
|
|
314
387
|
/**
|
|
315
388
|
* @internal
|
|
316
389
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetcherBase.js","sourceRoot":"","sources":["../../src/internal/FetcherBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAE9B,0CAAyC;AAKzC,yCAAwC;AAExC,IAAiB,WAAW,
|
|
1
|
+
{"version":3,"file":"FetcherBase.js","sourceRoot":"","sources":["../../src/internal/FetcherBase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/fetcher",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Fetcher library of Nestia SDK",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
31
31
|
"@typescript-eslint/parser": "^5.46.1",
|
|
32
32
|
"rimraf": "^3.0.2",
|
|
33
|
-
"typescript": "^5.
|
|
33
|
+
"typescript": "^5.4.2"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"typescript": ">= 4.8.0"
|
|
@@ -1,66 +1,50 @@
|
|
|
1
|
-
import crypto from "crypto";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Utility class for the AES-128/256 encryption.
|
|
5
|
-
*
|
|
6
|
-
* - AES-128/256
|
|
7
|
-
* - CBC mode
|
|
8
|
-
* - PKCS#5 Padding
|
|
9
|
-
* - Base64 Encoding
|
|
10
|
-
*
|
|
11
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
12
|
-
*/
|
|
13
|
-
export namespace AesPkcs5 {
|
|
14
|
-
/**
|
|
15
|
-
* Encrypt data
|
|
16
|
-
*
|
|
17
|
-
* @param data Target data
|
|
18
|
-
* @param key Key value of the encryption.
|
|
19
|
-
* @param iv Initializer Vector for the encryption
|
|
20
|
-
* @return Encrypted data
|
|
21
|
-
*/
|
|
22
|
-
export
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
`AES-${bytes}-CBC`,
|
|
52
|
-
key,
|
|
53
|
-
iv,
|
|
54
|
-
);
|
|
55
|
-
return concat(decipher.update(data), decipher.final());
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @internal
|
|
60
|
-
*/
|
|
61
|
-
const concat = (x: Buffer, y: Buffer): Buffer => {
|
|
62
|
-
if (x.length === 0) return y;
|
|
63
|
-
if (y.length === 0) return x;
|
|
64
|
-
return Buffer.concat([x, y]);
|
|
65
|
-
};
|
|
66
|
-
}
|
|
1
|
+
import crypto from "crypto";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Utility class for the AES-128/256 encryption.
|
|
5
|
+
*
|
|
6
|
+
* - AES-128/256
|
|
7
|
+
* - CBC mode
|
|
8
|
+
* - PKCS#5 Padding
|
|
9
|
+
* - Base64 Encoding
|
|
10
|
+
*
|
|
11
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
12
|
+
*/
|
|
13
|
+
export namespace AesPkcs5 {
|
|
14
|
+
/**
|
|
15
|
+
* Encrypt data
|
|
16
|
+
*
|
|
17
|
+
* @param data Target data
|
|
18
|
+
* @param key Key value of the encryption.
|
|
19
|
+
* @param iv Initializer Vector for the encryption
|
|
20
|
+
* @return Encrypted data
|
|
21
|
+
*/
|
|
22
|
+
export function encrypt(data: string, key: string, iv: string): string {
|
|
23
|
+
const bytes: number = key.length * 8;
|
|
24
|
+
const cipher: crypto.Cipher = crypto.createCipheriv(
|
|
25
|
+
`AES-${bytes}-CBC`,
|
|
26
|
+
key,
|
|
27
|
+
iv,
|
|
28
|
+
);
|
|
29
|
+
return cipher.update(data, "utf8", "base64") + cipher.final("base64");
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Decrypt data.
|
|
34
|
+
*
|
|
35
|
+
* @param data Target data
|
|
36
|
+
* @param key Key value of the decryption.
|
|
37
|
+
* @param iv Initializer Vector for the decryption
|
|
38
|
+
* @return Decrypted data.
|
|
39
|
+
*/
|
|
40
|
+
export function decrypt(data: string, key: string, iv: string): string {
|
|
41
|
+
const bytes: number = key.length * 8;
|
|
42
|
+
const decipher: crypto.Decipher = crypto.createDecipheriv(
|
|
43
|
+
`AES-${bytes}-CBC`,
|
|
44
|
+
key,
|
|
45
|
+
iv,
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
return decipher.update(data, "base64", "utf8") + decipher.final("utf8");
|
|
49
|
+
}
|
|
50
|
+
}
|