ismx-nexo-node-app 0.4.173 → 0.4.176
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.
|
@@ -27,10 +27,8 @@ class BusinessLogger {
|
|
|
27
27
|
constructor() {
|
|
28
28
|
this.logStream = null;
|
|
29
29
|
this.currentLogFile = null;
|
|
30
|
-
Promise.resolve().then(() => __importStar(require("fs"))).then((e) => this.fs = e.default)
|
|
31
|
-
|
|
32
|
-
Promise.resolve().then(() => __importStar(require("path"))).then((e) => this.path = e.default)
|
|
33
|
-
.catch(() => null);
|
|
30
|
+
Promise.resolve().then(() => __importStar(require("fs"))).then((e) => this.fs = e.default);
|
|
31
|
+
Promise.resolve().then(() => __importStar(require("path"))).then((e) => this.path = e.default);
|
|
34
32
|
}
|
|
35
33
|
file() {
|
|
36
34
|
return null;
|
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const Repository_1 = __importDefault(require("./Repository"));
|
|
16
16
|
const QueryUtils_1 = __importDefault(require("./utils/QueryUtils"));
|
|
17
17
|
const DateUtils_1 = __importDefault(require("../business/utils/DateUtils"));
|
|
18
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
18
19
|
class RepositoryRest extends Repository_1.default {
|
|
19
20
|
constructor(baseUrl, options = {}) {
|
|
20
21
|
super();
|
|
@@ -24,10 +25,11 @@ class RepositoryRest extends Repository_1.default {
|
|
|
24
25
|
}
|
|
25
26
|
call() {
|
|
26
27
|
return __awaiter(this, arguments, void 0, function* (method = 'GET', endpoint = '/', request = {}) {
|
|
27
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
28
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
28
29
|
// Especifica el método de la llamada HTTP al recurso.
|
|
29
30
|
request.method = method;
|
|
30
31
|
request.endpoint = endpoint;
|
|
32
|
+
request.url = `${this.baseUrl}${endpoint}`;
|
|
31
33
|
// Notifica que una petición REST va a ser realizada
|
|
32
34
|
request = (_c = (_b = (_a = this.options).interceptor) === null || _b === void 0 ? void 0 : _b.call(_a, endpoint, request)) !== null && _c !== void 0 ? _c : request;
|
|
33
35
|
// Completa la información de las cabeceras con cabeceras comunes por llamada a API.
|
|
@@ -44,8 +46,10 @@ class RepositoryRest extends Repository_1.default {
|
|
|
44
46
|
for (const [header, value] of Object.entries((_e = request.headers) !== null && _e !== void 0 ? _e : {}))
|
|
45
47
|
headers.set(header, (_g = (_f = request.headers) === null || _f === void 0 ? void 0 : _f[header]) !== null && _g !== void 0 ? _g : "");
|
|
46
48
|
// Realiza la llamada a la API con las cabeceras y la URL base de la llamada.
|
|
47
|
-
|
|
49
|
+
const _fetch = (_h = this.options.fetch) !== null && _h !== void 0 ? _h : node_fetch_1.default;
|
|
50
|
+
let call = _fetch(request.url + QueryUtils_1.default.map(request.query), Object.assign(Object.assign({}, request), { body: method !== "GET" ? body : undefined, headers: headers }));
|
|
48
51
|
// Añade información adicional a la respuesta y devuelve el resultado (o el error en su caso).
|
|
52
|
+
// @ts-ignore
|
|
49
53
|
return call.then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
50
54
|
var _a, _b, _c, _d, _e;
|
|
51
55
|
let headers = {};
|
|
@@ -6,6 +6,7 @@ export interface RestOptions {
|
|
|
6
6
|
onResponse?: (request: HttpRequest, response: HttpResponse) => void;
|
|
7
7
|
onRawResponse?: (request: HttpRequest, response: string) => void;
|
|
8
8
|
onError?: (request: HttpRequest, error: Error) => void;
|
|
9
|
+
fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
9
10
|
}
|
|
10
11
|
export default class RepositoryRest<Body = any, Res = any> extends Repository {
|
|
11
12
|
private readonly baseUrl;
|
package/package.json
CHANGED
|
@@ -8,12 +8,8 @@ export default class BusinessLogger
|
|
|
8
8
|
private path: any;
|
|
9
9
|
|
|
10
10
|
constructor() {
|
|
11
|
-
import("fs")
|
|
12
|
-
|
|
13
|
-
.catch(() => null);
|
|
14
|
-
import("path")
|
|
15
|
-
.then((e) => this.path = e.default)
|
|
16
|
-
.catch(() => null);
|
|
11
|
+
import("fs").then((e) => this.fs = e.default)
|
|
12
|
+
import("path").then((e) => this.path = e.default)
|
|
17
13
|
}
|
|
18
14
|
|
|
19
15
|
protected file(): string | null {
|
|
@@ -2,6 +2,7 @@ import Repository from "./Repository";
|
|
|
2
2
|
import {HttpRequest, HttpResponse} from "../api/Service";
|
|
3
3
|
import QueryUtils from "./utils/QueryUtils";
|
|
4
4
|
import DateUtils from "../business/utils/DateUtils";
|
|
5
|
+
import fetch from "node-fetch";
|
|
5
6
|
|
|
6
7
|
export interface RestOptions {
|
|
7
8
|
interceptor?: (endpoint: string, request: HttpRequest) => HttpRequest | undefined
|
|
@@ -9,6 +10,7 @@ export interface RestOptions {
|
|
|
9
10
|
onResponse?: (request: HttpRequest, response: HttpResponse) => void;
|
|
10
11
|
onRawResponse?: (request: HttpRequest, response: string) => void;
|
|
11
12
|
onError?: (request: HttpRequest, error: Error) => void
|
|
13
|
+
fetch?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
export default class RepositoryRest<Body=any,Res=any> extends Repository
|
|
@@ -17,7 +19,7 @@ export default class RepositoryRest<Body=any,Res=any> extends Repository
|
|
|
17
19
|
|
|
18
20
|
private readonly options: RestOptions
|
|
19
21
|
|
|
20
|
-
constructor(baseUrl: string, options: RestOptions={}) {
|
|
22
|
+
constructor(baseUrl: string, options: RestOptions = {}) {
|
|
21
23
|
super();
|
|
22
24
|
this.baseUrl = baseUrl;
|
|
23
25
|
this.options = options;
|
|
@@ -34,6 +36,7 @@ export default class RepositoryRest<Body=any,Res=any> extends Repository
|
|
|
34
36
|
// Especifica el método de la llamada HTTP al recurso.
|
|
35
37
|
request.method = method;
|
|
36
38
|
request.endpoint = endpoint;
|
|
39
|
+
request.url = `${this.baseUrl}${endpoint}`;
|
|
37
40
|
|
|
38
41
|
// Notifica que una petición REST va a ser realizada
|
|
39
42
|
request = this.options.interceptor?.(endpoint, request) ?? request
|
|
@@ -55,11 +58,13 @@ export default class RepositoryRest<Body=any,Res=any> extends Repository
|
|
|
55
58
|
headers.set(header, request.headers?.[header] ?? "");
|
|
56
59
|
|
|
57
60
|
// Realiza la llamada a la API con las cabeceras y la URL base de la llamada.
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
const _fetch = this.options.fetch ?? fetch;
|
|
62
|
+
let call = _fetch(request.url + QueryUtils.map(request.query), {
|
|
63
|
+
...request, body: method !== "GET" ? body : undefined, headers: headers as unknown as Record<string, string>
|
|
60
64
|
});
|
|
61
65
|
|
|
62
66
|
// Añade información adicional a la respuesta y devuelve el resultado (o el error en su caso).
|
|
67
|
+
// @ts-ignore
|
|
63
68
|
return call.then(async (res: Response) => {
|
|
64
69
|
let headers: any = {}; res.headers.forEach((value, key) => headers[key.toLowerCase()] = value);
|
|
65
70
|
let content: string | E = await res.text();
|