@golemio/core 1.4.1 → 1.5.1-dev.777958953
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/dist/helpers/data-access/storage/AbstractStorageService.d.ts +3 -0
- package/dist/helpers/data-access/storage/AbstractStorageService.js.map +1 -1
- package/dist/helpers/data-access/storage/AzureBlobStorageService.d.ts +3 -0
- package/dist/helpers/data-access/storage/AzureBlobStorageService.js +21 -1
- package/dist/helpers/data-access/storage/AzureBlobStorageService.js.map +1 -1
- package/dist/helpers/data-access/storage/NoopStorageService.d.ts +3 -0
- package/dist/helpers/data-access/storage/NoopStorageService.js +5 -0
- package/dist/helpers/data-access/storage/NoopStorageService.js.map +1 -1
- package/dist/input-gateway/config/InputGatewayConfiguration.d.ts +7 -7
- package/dist/input-gateway/config/InputGatewayConfiguration.js +13 -13
- package/dist/input-gateway/config/InputGatewayConfiguration.js.map +1 -1
- package/dist/input-gateway/config/abstract.d.ts +2 -9
- package/dist/input-gateway/data-access/StorageServiceProvider.d.ts +8 -0
- package/dist/input-gateway/data-access/StorageServiceProvider.js +39 -0
- package/dist/input-gateway/data-access/StorageServiceProvider.js.map +1 -0
- package/dist/input-gateway/helpers/SaveRawDataMiddleware.d.ts +15 -11
- package/dist/input-gateway/helpers/SaveRawDataMiddleware.js +71 -85
- package/dist/input-gateway/helpers/SaveRawDataMiddleware.js.map +1 -1
- package/dist/input-gateway/ioc/ContainerToken.d.ts +3 -0
- package/dist/input-gateway/ioc/ContainerToken.js +3 -0
- package/dist/input-gateway/ioc/ContainerToken.js.map +1 -1
- package/dist/input-gateway/ioc/Di.js +9 -0
- package/dist/input-gateway/ioc/Di.js.map +1 -1
- package/dist/integration-engine/datasources/protocol-strategy/FTPProtocolStrategy.js +6 -2
- package/dist/integration-engine/datasources/protocol-strategy/FTPProtocolStrategy.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
import { Readable } from "stream";
|
|
3
5
|
export declare abstract class AbstractStorageService {
|
|
6
|
+
abstract uploadStream(stream: Readable, pathPrefix: string, ext?: string, fileName?: string): Promise<void>;
|
|
4
7
|
abstract uploadFile(data: Buffer | string, pathPrefix: string, ext?: string, fileName?: string): Promise<void>;
|
|
5
8
|
abstract deleteFile(key: string): Promise<void>;
|
|
6
9
|
abstract getFileStream(fileKey: string): Promise<NodeJS.ReadableStream | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractStorageService.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/storage/AbstractStorageService.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AbstractStorageService.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/storage/AbstractStorageService.ts"],"names":[],"mappings":";;;AAEA,MAAsB,sBAAsB;CAK3C;AALD,wDAKC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
import { Readable } from "stream";
|
|
3
5
|
import { ILogger } from "../../logger";
|
|
4
6
|
import { AbstractStorageService } from "./AbstractStorageService";
|
|
5
7
|
export interface IAzureBlobStorageConfig {
|
|
@@ -10,6 +12,7 @@ export declare class AzureBlobStorageService extends AbstractStorageService {
|
|
|
10
12
|
private readonly log;
|
|
11
13
|
private readonly containerClient;
|
|
12
14
|
constructor(config: IAzureBlobStorageConfig, log: ILogger);
|
|
15
|
+
uploadStream(stream: Readable, pathPrefix: string, ext?: string, fileName?: string): Promise<void>;
|
|
13
16
|
uploadFile(data: Buffer | string, pathPrefix: string, ext?: string, fileName?: string): Promise<void>;
|
|
14
17
|
deleteFile(fileKey: string): Promise<void>;
|
|
15
18
|
getFileStream(fileKey: string): Promise<NodeJS.ReadableStream | undefined>;
|
|
@@ -24,6 +24,25 @@ class AzureBlobStorageService extends AbstractStorageService_1.AbstractStorageSe
|
|
|
24
24
|
this.log.debug(`[${this.constructor.name}] Could not initialize container "${config.containerName}"`, err);
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
+
uploadStream(stream, pathPrefix, ext = "", fileName) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const now = luxon_1.DateTime.local({ zone: "Europe/Prague" });
|
|
30
|
+
const fileNamePrefix = fileName !== null && fileName !== void 0 ? fileName : `${now.toFormat("yyyy-MM-dd")}/${now.toFormat("HH_mm_ss.SSS")}`;
|
|
31
|
+
const fileNameKey = `${pathPrefix}/${fileNamePrefix}`;
|
|
32
|
+
const fileNameExt = ext ? `.${ext}` : "";
|
|
33
|
+
try {
|
|
34
|
+
const blobClient = this.containerClient.getBlockBlobClient(`${fileNameKey}${fileNameExt}`);
|
|
35
|
+
const options = {
|
|
36
|
+
blobHTTPHeaders: { blobContentType: "application/octet-stream" },
|
|
37
|
+
onProgress: this.handleUploadProgress(fileNameKey + fileNameExt),
|
|
38
|
+
};
|
|
39
|
+
yield blobClient.uploadStream(stream, undefined, undefined, options);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
this.log.error(`[${this.constructor.name}] Saving of data stream failed (${fileNameKey}${fileNameExt})`, err);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
27
46
|
uploadFile(data, pathPrefix, ext = "", fileName) {
|
|
28
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
48
|
const now = luxon_1.DateTime.local({ zone: "Europe/Prague" });
|
|
@@ -74,7 +93,8 @@ class AzureBlobStorageService extends AbstractStorageService_1.AbstractStorageSe
|
|
|
74
93
|
}
|
|
75
94
|
handleUploadProgress(filePath, dataByteLength) {
|
|
76
95
|
return (progress) => {
|
|
77
|
-
this.log.verbose(`[${this.constructor.name}] File upload ` +
|
|
96
|
+
this.log.verbose(`[${this.constructor.name}] File upload ` +
|
|
97
|
+
`${filePath}: ${progress.loadedBytes} / ${dataByteLength !== null && dataByteLength !== void 0 ? dataByteLength : "unknown"}`);
|
|
78
98
|
};
|
|
79
99
|
}
|
|
80
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureBlobStorageService.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/storage/AzureBlobStorageService.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"AzureBlobStorageService.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/storage/AzureBlobStorageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { Readable } from "stream";
|
|
2
4
|
import { ILogger } from "../../logger";
|
|
3
5
|
import { AbstractStorageService } from "./AbstractStorageService";
|
|
4
6
|
export declare class NoopStorageService extends AbstractStorageService {
|
|
5
7
|
private readonly log;
|
|
6
8
|
constructor(log: ILogger);
|
|
9
|
+
uploadStream(stream: Readable, pathPrefix: string, ext: string, fileName?: string): Promise<void>;
|
|
7
10
|
uploadFile(data: Buffer | string, pathPrefix: string, ext: string, fileName?: string): Promise<void>;
|
|
8
11
|
deleteFile(fileKey: string): Promise<void>;
|
|
9
12
|
getFileStream(fileKey: string): Promise<undefined>;
|
|
@@ -16,6 +16,11 @@ class NoopStorageService extends AbstractStorageService_1.AbstractStorageService
|
|
|
16
16
|
super();
|
|
17
17
|
this.log = log;
|
|
18
18
|
}
|
|
19
|
+
uploadStream(stream, pathPrefix, ext, fileName) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
this.log.silly("[NoopStorageService] Storage is disabled. Skipping stream upload.");
|
|
22
|
+
});
|
|
23
|
+
}
|
|
19
24
|
uploadFile(data, pathPrefix, ext, fileName) {
|
|
20
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
26
|
this.log.silly("[NoopStorageService] Storage is disabled. Skipping file upload.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoopStorageService.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/storage/NoopStorageService.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"NoopStorageService.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/storage/NoopStorageService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qEAAkE;AAElE,MAAa,kBAAmB,SAAQ,+CAAsB;IAC1D,YAA6B,GAAY;QACrC,KAAK,EAAE,CAAC;QADiB,QAAG,GAAH,GAAG,CAAS;IAEzC,CAAC;IAEY,YAAY,CAAC,MAAgB,EAAE,UAAkB,EAAE,GAAW,EAAE,QAAiB;;YAC1F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACxF,CAAC;KAAA;IAEY,UAAU,CAAC,IAAqB,EAAE,UAAkB,EAAE,GAAW,EAAE,QAAiB;;YAC7F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACtF,CAAC;KAAA;IAEY,UAAU,CAAC,OAAe;;YACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACxF,CAAC;KAAA;IAEY,aAAa,CAAC,OAAe;;YACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACpF,OAAO;QACX,CAAC;KAAA;CACJ;AArBD,gDAqBC"}
|
|
@@ -13,14 +13,14 @@ export declare class InputGatewayConfiguration implements IConfiguration {
|
|
|
13
13
|
port: string | undefined;
|
|
14
14
|
rabbit_connections: string[] | undefined;
|
|
15
15
|
rabbit_exchange_name: string | undefined;
|
|
16
|
-
|
|
17
|
-
access_key_id: string | undefined;
|
|
18
|
-
bucket_name: string | undefined;
|
|
16
|
+
storage: {
|
|
19
17
|
enabled: boolean;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
provider: {
|
|
19
|
+
azure: {
|
|
20
|
+
connectionString: string;
|
|
21
|
+
containerName: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
24
|
};
|
|
25
25
|
saveRawDataWhitelist: any;
|
|
26
26
|
sentry: {
|
|
@@ -16,7 +16,7 @@ const _monitoring_1 = require("../../monitoring");
|
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
17
|
let InputGatewayConfiguration = class InputGatewayConfiguration {
|
|
18
18
|
constructor() {
|
|
19
|
-
var _a, _b, _c, _d, _e;
|
|
19
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
20
20
|
this.app_version = process.env.npm_package_version;
|
|
21
21
|
this.app_name = process.env.APP_NAME || "input-gateway";
|
|
22
22
|
this.colorful_logs = process.env.COLORFUL_LOGS;
|
|
@@ -28,14 +28,14 @@ let InputGatewayConfiguration = class InputGatewayConfiguration {
|
|
|
28
28
|
this.port = process.env.PORT;
|
|
29
29
|
this.rabbit_connections = (_a = process.env.RABBIT_CONN) === null || _a === void 0 ? void 0 : _a.split(",");
|
|
30
30
|
this.rabbit_exchange_name = process.env.RABBIT_EXCHANGE_NAME;
|
|
31
|
-
this.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
this.storage = {
|
|
32
|
+
enabled: process.env.STORAGE_ENABLED === "true",
|
|
33
|
+
provider: {
|
|
34
|
+
azure: {
|
|
35
|
+
connectionString: (_b = process.env.AZURE_BLOB_STORAGE_CONN) !== null && _b !== void 0 ? _b : "",
|
|
36
|
+
containerName: (_c = process.env.AZURE_BLOB_STORAGE_CONTAINER_NAME) !== null && _c !== void 0 ? _c : "",
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
39
|
};
|
|
40
40
|
this.sentry = {
|
|
41
41
|
enabled: process.env.SENTRY_ENABLED === "true",
|
|
@@ -69,18 +69,18 @@ let InputGatewayConfiguration = class InputGatewayConfiguration {
|
|
|
69
69
|
enabled: process.env.FEATURE_FLAGS_ENABLED === "true",
|
|
70
70
|
provider: {
|
|
71
71
|
launchDarkly: {
|
|
72
|
-
appId: (
|
|
73
|
-
sdkKey: (
|
|
72
|
+
appId: (_d = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_APP_ID) !== null && _d !== void 0 ? _d : "input-gateway",
|
|
73
|
+
sdkKey: (_e = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_SDK_KEY) !== null && _e !== void 0 ? _e : "sdk-test",
|
|
74
74
|
useOfflineMode: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_USE_OFFLINE_MODE === "true",
|
|
75
75
|
fileDataSource: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_FILE_DATA_SOURCE,
|
|
76
76
|
useDaemonMode: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_USE_DAEMON_MODE === "true",
|
|
77
77
|
options: {
|
|
78
|
-
baseUri: (
|
|
78
|
+
baseUri: (_f = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_BASE_URI) !== null && _f !== void 0 ? _f : "http://localhost:8030",
|
|
79
79
|
redisConn: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CONN,
|
|
80
80
|
redisCacheTtlInSeconds: process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CACHE_TTL_IN_SECONDS
|
|
81
81
|
? parseInt(process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_CACHE_TTL_IN_SECONDS)
|
|
82
82
|
: 60,
|
|
83
|
-
redisKeyPrefix: (
|
|
83
|
+
redisKeyPrefix: (_g = process.env.FEATURE_FLAGS_LAUNCH_DARKLY_REDIS_KEY_PREFIX) !== null && _g !== void 0 ? _g : "ld-ig",
|
|
84
84
|
},
|
|
85
85
|
},
|
|
86
86
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputGatewayConfiguration.js","sourceRoot":"","sources":["../../../src/input-gateway/config/InputGatewayConfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwC;AAExC,+CAAyC;AACzC,kDAAkD;AAClD,uCAAsC;AAItC,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAwElC;;QAvEO,gBAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC9C,aAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,eAAe,CAAC;QACnD,kBAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1C,cAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,aAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;QACjD,sBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAClD,uBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACpD,sBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAClD,SAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,uBAAkB,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,WAAW,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,yBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxD,
|
|
1
|
+
{"version":3,"file":"InputGatewayConfiguration.js","sourceRoot":"","sources":["../../../src/input-gateway/config/InputGatewayConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IJaegerConfig } from "../../monitoring";
|
|
2
2
|
import { ISentryConfig } from "../../monitoring/sentry/sentry-provider";
|
|
3
3
|
import { IMetricsConfig } from "../../monitoring/metrics/metrics-interface";
|
|
4
|
+
import { IStorageConfig } from "../../helpers/data-access/storage";
|
|
4
5
|
export interface ISaveRawDataWhitelist {
|
|
5
6
|
route: string;
|
|
6
7
|
withHeaders: boolean;
|
|
@@ -17,15 +18,7 @@ export interface IConfiguration {
|
|
|
17
18
|
port: string | undefined;
|
|
18
19
|
rabbit_connections: string[] | undefined;
|
|
19
20
|
rabbit_exchange_name: string | undefined;
|
|
20
|
-
|
|
21
|
-
access_key_id: string | undefined;
|
|
22
|
-
bucket_name: string | undefined;
|
|
23
|
-
enabled: boolean;
|
|
24
|
-
endpoint: string | undefined;
|
|
25
|
-
secret_access_key: string | undefined;
|
|
26
|
-
upload_part_size: number;
|
|
27
|
-
upload_queue_size: number;
|
|
28
|
-
};
|
|
21
|
+
storage: IStorageConfig;
|
|
29
22
|
sentry: ISentryConfig;
|
|
30
23
|
saveRawDataWhitelist: ISaveRawDataWhitelist[];
|
|
31
24
|
metrics: IMetricsConfig;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractStorageService } from "../../helpers/data-access/storage";
|
|
2
|
+
import { ILogger } from "../../helpers";
|
|
3
|
+
import { IConfiguration } from "../config";
|
|
4
|
+
export declare class StorageServiceProvider {
|
|
5
|
+
protected _service: AbstractStorageService;
|
|
6
|
+
constructor(config: IConfiguration, log: ILogger);
|
|
7
|
+
get service(): AbstractStorageService;
|
|
8
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.StorageServiceProvider = void 0;
|
|
16
|
+
const tsyringe_1 = require("tsyringe");
|
|
17
|
+
const errors_1 = require("@golemio/errors");
|
|
18
|
+
const storage_1 = require("../../helpers/data-access/storage");
|
|
19
|
+
const ioc_1 = require("../ioc");
|
|
20
|
+
let StorageServiceProvider = class StorageServiceProvider {
|
|
21
|
+
constructor(config, log) {
|
|
22
|
+
const service = new storage_1.StorageServiceFactory(config.storage, log).getService(storage_1.StorageProvider.Azure);
|
|
23
|
+
if (!service) {
|
|
24
|
+
throw new errors_1.CustomError(`StorageServiceProvider returned undefined for provider ${storage_1.StorageProvider.Azure}`, false, this.constructor.name);
|
|
25
|
+
}
|
|
26
|
+
this._service = service;
|
|
27
|
+
}
|
|
28
|
+
get service() {
|
|
29
|
+
return this._service;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
StorageServiceProvider = __decorate([
|
|
33
|
+
(0, tsyringe_1.injectable)(),
|
|
34
|
+
__param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
|
|
35
|
+
__param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
|
|
36
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
37
|
+
], StorageServiceProvider);
|
|
38
|
+
exports.StorageServiceProvider = StorageServiceProvider;
|
|
39
|
+
//# sourceMappingURL=StorageServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageServiceProvider.js","sourceRoot":"","sources":["../../../src/input-gateway/data-access/StorageServiceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA8C;AAC9C,4CAA8C;AAC9C,+DAA8G;AAC9G,gCAAyC;AAKzC,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAG/B,YAA2C,MAAsB,EAAiC,GAAY;QAC1G,MAAM,OAAO,GAAG,IAAI,+BAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,yBAAe,CAAC,KAAK,CAAC,CAAC;QAEjG,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,oBAAW,CACjB,0DAA0D,yBAAe,CAAC,KAAK,EAAE,EACjF,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;SACL;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ,CAAA;AApBY,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;IAA0B,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GAHxF,sBAAsB,CAoBlC;AApBY,wDAAsB"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import { S3 } from "aws-sdk";
|
|
2
1
|
import { NextFunction, Request, Response } from "express";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
import { ILogger } from "../../helpers";
|
|
3
|
+
import { AbstractStorageService } from "../../helpers/data-access/storage";
|
|
4
|
+
import { IConfiguration } from "../config";
|
|
5
|
+
export declare class SaveRawDataMiddleware {
|
|
6
|
+
private readonly log;
|
|
7
|
+
private storage;
|
|
8
|
+
private readonly storageEnabled;
|
|
9
|
+
private readonly whitelist;
|
|
10
|
+
constructor(config: IConfiguration, log: ILogger, storage: AbstractStorageService);
|
|
11
|
+
getMiddleware: () => (req: Request, res: Response, next: NextFunction) => void;
|
|
12
|
+
getWhitelistRegexp: () => {
|
|
13
|
+
routesRegexp: RegExp;
|
|
14
|
+
headersRegexp: RegExp;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -1,94 +1,80 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
4
13
|
};
|
|
5
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const
|
|
8
|
-
const aws_sdk_1 = require("aws-sdk");
|
|
9
|
-
const moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
15
|
+
exports.SaveRawDataMiddleware = void 0;
|
|
16
|
+
const tsyringe_1 = require("tsyringe");
|
|
10
17
|
const path_to_regexp_1 = require("path-to-regexp");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (config_1.config.s3.enabled && req.method === "POST" && exports.routesRegexp.exec(requestUrlPath)) {
|
|
46
|
-
// file name (path) in format {url}/{YYYY-MM-DD}/{HH_mm_ss.s}, e.g. mos-be/accounts/2020-04-17/12_59_42.456
|
|
47
|
-
const now = (0, moment_timezone_1.default)().tz("Europe/Prague");
|
|
48
|
-
const name = `${requestUrlPath.slice(1)}/${now.format("YYYY-MM-DD")}/${now.format("HH_mm_ss.SSS")}`;
|
|
49
|
-
// file extension by content-type
|
|
50
|
-
const contentType = (0, helpers_1.getContentType)(req);
|
|
51
|
-
const ext = helpers_1.contentTypeToExtension[contentType];
|
|
52
|
-
// content-type checking
|
|
53
|
-
if (!ext) {
|
|
54
|
-
errors_1.ErrorHandler.handle(new errors_1.CustomError(`Saving raw data failed. (${requestUrlPath})`, true, "SaveRawDataMiddleware", 406, new Error(`Extension for content-type ${contentType} was not found.`)), helpers_1.log);
|
|
55
|
-
return next();
|
|
56
|
-
}
|
|
57
|
-
// save file with body of the matched route
|
|
58
|
-
const dataPutRequest = {
|
|
59
|
-
Body: req,
|
|
60
|
-
Bucket: config_1.config.s3.bucket_name,
|
|
61
|
-
Key: `${name}.${ext}`,
|
|
62
|
-
};
|
|
63
|
-
const options = {
|
|
64
|
-
partSize: config_1.config.s3.upload_part_size * 1024 * 1024,
|
|
65
|
-
queueSize: config_1.config.s3.upload_queue_size,
|
|
18
|
+
const luxon_1 = require("luxon");
|
|
19
|
+
const errors_1 = require("@golemio/errors");
|
|
20
|
+
const storage_1 = require("../../helpers/data-access/storage");
|
|
21
|
+
const CheckContentTypeMiddleware_1 = require("./CheckContentTypeMiddleware");
|
|
22
|
+
const ContentTypeHelper_1 = require("./ContentTypeHelper");
|
|
23
|
+
const ioc_1 = require("../ioc");
|
|
24
|
+
let SaveRawDataMiddleware = class SaveRawDataMiddleware {
|
|
25
|
+
constructor(config, log, storage) {
|
|
26
|
+
this.log = log;
|
|
27
|
+
this.storage = storage;
|
|
28
|
+
this.getMiddleware = () => {
|
|
29
|
+
const whitelistRegexp = this.getWhitelistRegexp();
|
|
30
|
+
return (req, res, next) => {
|
|
31
|
+
const requestUrlPath = req.path;
|
|
32
|
+
if (this.storageEnabled && req.method === "POST" && whitelistRegexp.routesRegexp.exec(requestUrlPath)) {
|
|
33
|
+
// file extension by content-type
|
|
34
|
+
const contentType = (0, CheckContentTypeMiddleware_1.getContentType)(req);
|
|
35
|
+
const ext = ContentTypeHelper_1.contentTypeToExtension[contentType];
|
|
36
|
+
// content-type checking
|
|
37
|
+
if (!ext) {
|
|
38
|
+
errors_1.ErrorHandler.handle(new errors_1.CustomError(`Saving raw data failed. (${requestUrlPath})`, true, "SaveRawDataMiddleware", 406, new Error(`Extension for content-type ${contentType} was not found.`)), this.log);
|
|
39
|
+
return next();
|
|
40
|
+
}
|
|
41
|
+
const now = luxon_1.DateTime.local({ zone: "Europe/Prague" });
|
|
42
|
+
const fileName = `${now.toFormat("yyyy-MM-dd")}/${now.toFormat("HH_mm_ss.SSS")}`;
|
|
43
|
+
this.storage.uploadStream(req, `${requestUrlPath.slice(1)}`, ext, fileName);
|
|
44
|
+
// save file with headers of the matched route
|
|
45
|
+
if (whitelistRegexp.headersRegexp.exec(requestUrlPath)) {
|
|
46
|
+
const headerFileName = `${fileName}_headers`;
|
|
47
|
+
this.storage.uploadFile(JSON.stringify(req.headers), `${requestUrlPath.slice(1)}`, `json`, headerFileName);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
next();
|
|
51
|
+
};
|
|
66
52
|
};
|
|
67
|
-
(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
53
|
+
this.getWhitelistRegexp = () => {
|
|
54
|
+
const regexpRoutes = [];
|
|
55
|
+
const regexpHeaders = [];
|
|
56
|
+
for (const dataset of this.whitelist) {
|
|
57
|
+
const routeRegexp = `(${(0, path_to_regexp_1.pathToRegexp)(dataset.route).source})`;
|
|
58
|
+
regexpRoutes.push(routeRegexp);
|
|
59
|
+
if (dataset.withHeaders) {
|
|
60
|
+
regexpHeaders.push(routeRegexp);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
routesRegexp: regexpRoutes.length ? RegExp(regexpRoutes.join("|")) : RegExp(/.^/),
|
|
65
|
+
headersRegexp: regexpHeaders.length ? RegExp(regexpHeaders.join("|")) : RegExp(/.^/),
|
|
74
66
|
};
|
|
75
|
-
|
|
76
|
-
|
|
67
|
+
};
|
|
68
|
+
this.storageEnabled = config.storage.enabled;
|
|
69
|
+
this.whitelist = config.saveRawDataWhitelist;
|
|
77
70
|
}
|
|
78
|
-
next();
|
|
79
|
-
};
|
|
80
|
-
exports.saveRawDataMiddleware = saveRawDataMiddleware;
|
|
81
|
-
/**
|
|
82
|
-
* Helper function for saving data to S3
|
|
83
|
-
*/
|
|
84
|
-
const uploadDataToS3 = (data, options, requestUrlPath) => {
|
|
85
|
-
s3.upload(data, options, (err, _data) => {
|
|
86
|
-
if (err) {
|
|
87
|
-
errors_1.ErrorHandler.handle(new errors_1.CustomError(`Uploading data failed to S3 failed. (${requestUrlPath})`, true, "SaveRawDataMiddleware", err.statusCode, err), helpers_1.log);
|
|
88
|
-
}
|
|
89
|
-
}).on("httpUploadProgress", (httpUploadProgress) => {
|
|
90
|
-
helpers_1.log.debug(`S3 file upload progress: ${httpUploadProgress.loaded} / ${httpUploadProgress.total}`);
|
|
91
|
-
});
|
|
92
71
|
};
|
|
93
|
-
|
|
72
|
+
SaveRawDataMiddleware = __decorate([
|
|
73
|
+
(0, tsyringe_1.injectable)(),
|
|
74
|
+
__param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
|
|
75
|
+
__param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
|
|
76
|
+
__param(2, (0, tsyringe_1.inject)(ioc_1.ContainerToken.StorageService)),
|
|
77
|
+
__metadata("design:paramtypes", [Object, Object, storage_1.AbstractStorageService])
|
|
78
|
+
], SaveRawDataMiddleware);
|
|
79
|
+
exports.SaveRawDataMiddleware = SaveRawDataMiddleware;
|
|
94
80
|
//# sourceMappingURL=SaveRawDataMiddleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveRawDataMiddleware.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/SaveRawDataMiddleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SaveRawDataMiddleware.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/SaveRawDataMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,9 @@ const ContainerToken = {
|
|
|
9
9
|
AmqpConnector: Symbol(),
|
|
10
10
|
FeatureFlagService: Symbol(),
|
|
11
11
|
FeatureFlagServiceWrapper: Symbol(),
|
|
12
|
+
StorageService: Symbol(),
|
|
13
|
+
StorageServiceProvider: Symbol(),
|
|
14
|
+
SaveRawDataMiddleware: Symbol(),
|
|
12
15
|
};
|
|
13
16
|
exports.ContainerToken = ContainerToken;
|
|
14
17
|
//# sourceMappingURL=ContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/input-gateway/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE;IAChB,YAAY,EAAE,MAAM,EAAE;IACtB,aAAa,EAAE,MAAM,EAAE;IACvB,aAAa,EAAE,MAAM,EAAE;IACvB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,yBAAyB,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ContainerToken.js","sourceRoot":"","sources":["../../../src/input-gateway/ioc/ContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE;IAChB,YAAY,EAAE,MAAM,EAAE;IACtB,aAAa,EAAE,MAAM,EAAE;IACvB,aAAa,EAAE,MAAM,EAAE;IACvB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,cAAc,EAAE,MAAM,EAAE;IACxB,sBAAsB,EAAE,MAAM,EAAE;IAChC,qBAAqB,EAAE,MAAM,EAAE;CAClC,CAAC;AAEO,wCAAc"}
|
|
@@ -12,6 +12,8 @@ const FeatureFlagServiceWrapper_1 = require("../data-access/FeatureFlagServiceWr
|
|
|
12
12
|
const LoggerEvents_1 = __importDefault(require("../helpers/LoggerEvents"));
|
|
13
13
|
const tsyringe_1 = require("tsyringe");
|
|
14
14
|
const ContainerToken_1 = require("./ContainerToken");
|
|
15
|
+
const StorageServiceProvider_1 = require("../data-access/StorageServiceProvider");
|
|
16
|
+
const SaveRawDataMiddleware_1 = require("../helpers/SaveRawDataMiddleware");
|
|
15
17
|
//#region Initialization
|
|
16
18
|
const singletonOptions = { lifecycle: tsyringe_1.Lifecycle.Singleton };
|
|
17
19
|
const InputGatewayContainer = Di_1.GlobalContainer.createChildContainer();
|
|
@@ -33,5 +35,12 @@ InputGatewayContainer.register(ContainerToken_1.ContainerToken.AmqpConnector, {
|
|
|
33
35
|
.register(ContainerToken_1.ContainerToken.FeatureFlagServiceWrapper, FeatureFlagServiceWrapper_1.FeatureFlagServiceWrapper, singletonOptions)
|
|
34
36
|
.register(ContainerToken_1.ContainerToken.FeatureFlagService, {
|
|
35
37
|
useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => c.resolve(ContainerToken_1.ContainerToken.FeatureFlagServiceWrapper).service),
|
|
38
|
+
})
|
|
39
|
+
.register(ContainerToken_1.ContainerToken.StorageServiceProvider, StorageServiceProvider_1.StorageServiceProvider, singletonOptions)
|
|
40
|
+
.register(ContainerToken_1.ContainerToken.StorageService, {
|
|
41
|
+
useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => c.resolve(ContainerToken_1.ContainerToken.StorageServiceProvider).service),
|
|
36
42
|
});
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region Middleware
|
|
45
|
+
InputGatewayContainer.registerSingleton(ContainerToken_1.ContainerToken.SaveRawDataMiddleware, SaveRawDataMiddleware_1.SaveRawDataMiddleware);
|
|
37
46
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/input-gateway/ioc/Di.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAsE;AAEtE,6CAAkD;AAElD,mFAAiF;AACjF,+DAA6D;AAC7D,wFAAsF;AACtF,2EAAoD;AACpD,uCAA6D;AAC7D,qDAAkD;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/input-gateway/ioc/Di.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAsE;AAEtE,6CAAkD;AAElD,mFAAiF;AACjF,+DAA6D;AAC7D,wFAAsF;AACtF,2EAAoD;AACpD,uCAA6D;AAC7D,qDAAkD;AAClD,kFAAgF;AAChF,4EAA0E;AAE1E,wBAAwB;AACxB,MAAM,gBAAgB,GAAG,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;AAC5D,MAAM,qBAAqB,GAAG,oBAAe,CAAC,oBAAoB,EAAE,CAAC;AA0C5D,sDAAqB;AAzC9B,YAAY;AAEZ,iBAAiB;AACjB,qBAAqB,CAAC,QAAQ,CAAiB,+BAAc,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,qDAAyB,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAEjI,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAiB,+BAAc,CAAC,MAAM,CAAC,CAAC;AACpF,qBAAqB,CAAC,gBAAgB,CAClC,+BAAc,CAAC,MAAM,EACrB,IAAA,uBAAY,EAAC;IACT,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC,QAAQ;IACxB,QAAQ,EAAE,MAAM,CAAC,SAAS;CAC7B,CAAC,CACL,CAAC;AACF,qBAAqB,CAAC,QAAQ,CAAC,+BAAc,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,sBAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC1G,qBAAqB,CAAC,gBAAgB,CAClC,+BAAc,CAAC,aAAa,EAC5B,IAAA,8BAAmB,EAAC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,+BAAc,CAAC,MAAM,CAAC,CAAC,CAC7F,CAAC;AACF,YAAY;AAEZ,qBAAqB;AACrB,qBAAqB,CAAC,QAAQ,CAAkB,+BAAc,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,6BAAa,EAAE,EAAE,gBAAgB,CAAC;KACvH,QAAQ,CAAC,+BAAc,CAAC,yBAAyB,EAAE,qDAAyB,EAAE,gBAAgB,CAAC;KAC/F,QAAQ,CAAC,+BAAc,CAAC,kBAAkB,EAAE;IACzC,UAAU,EAAE,IAAA,iCAAsB,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAA4B,+BAAc,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAChG;CACJ,CAAC;KACD,QAAQ,CAAC,+BAAc,CAAC,sBAAsB,EAAE,+CAAsB,EAAE,gBAAgB,CAAC;KACzF,QAAQ,CAAC,+BAAc,CAAC,cAAc,EAAE;IACrC,UAAU,EAAE,IAAA,iCAAsB,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAyB,+BAAc,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAC1F;CACJ,CAAC,CAAC;AACP,YAAY;AAEZ,oBAAoB;AACpB,qBAAqB,CAAC,iBAAiB,CAAC,+BAAc,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC"}
|
|
@@ -48,11 +48,13 @@ class FTPProtocolStrategy extends ProtocolStrategy_1.ProtocolStrategy {
|
|
|
48
48
|
yield this.ftpClient.access(this.connectionSettings.url);
|
|
49
49
|
yield this.ftpClient.cd(this.connectionSettings.path);
|
|
50
50
|
yield this.ftpClient.downloadTo(fs_1.default.createWriteStream(path_1.default.join(this.downloadPath, this.connectionSettings.filename)), this.connectionSettings.filename);
|
|
51
|
-
this.ftpClient.close();
|
|
52
51
|
}
|
|
53
52
|
catch (err) {
|
|
54
53
|
throw new errors_1.CustomError("Error while downloading FTP files", true, this.constructor.name, undefined, err);
|
|
55
54
|
}
|
|
55
|
+
finally {
|
|
56
|
+
this.ftpClient.close();
|
|
57
|
+
}
|
|
56
58
|
const prefix = path_1.default.parse(this.connectionSettings.filename).name + "/";
|
|
57
59
|
let result;
|
|
58
60
|
try {
|
|
@@ -76,13 +78,15 @@ class FTPProtocolStrategy extends ProtocolStrategy_1.ProtocolStrategy {
|
|
|
76
78
|
yield this.ftpClient.access(this.connectionSettings.url);
|
|
77
79
|
yield this.ftpClient.cd(this.connectionSettings.path);
|
|
78
80
|
const lastModified = yield this.ftpClient.lastMod(this.connectionSettings.filename);
|
|
79
|
-
this.ftpClient.close();
|
|
80
81
|
return lastModified ? (0, moment_1.default)(lastModified, "MM-DD-YYYY hh:mmA").toISOString() : null;
|
|
81
82
|
}
|
|
82
83
|
catch (err) {
|
|
83
84
|
helpers_1.log.error(err);
|
|
84
85
|
return null;
|
|
85
86
|
}
|
|
87
|
+
finally {
|
|
88
|
+
this.ftpClient.close();
|
|
89
|
+
}
|
|
86
90
|
});
|
|
87
91
|
this.ftpClient = new basic_ftp_1.Client();
|
|
88
92
|
this.ftpClient.ftp.log = helpers_1.log.silly;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FTPProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/protocol-strategy/FTPProtocolStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2DAAwH;AACxH,yDAAsF;AACtF,2CAAkC;AAClC,4CAA8C;AAC9C,yCAAmC;AACnC,4CAAoB;AACpB,oDAA4B;AAC5B,4CAAoB;AACpB,gDAAwB;AACxB,iEAA8D;AAM9D,MAAM,eAAe,GAA0B;IAC3C,MAAM,EAAE,YAAE,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,iCAAa,CAAC,IAAI;IAC9B,UAAU,EAAE,iCAAa,CAAC,IAAI;CACjC,CAAC;AAEF,MAAa,mBAAoB,SAAQ,mCAAgB;IAMrD,YAAY,QAAsB;QAC9B,KAAK,iCAAM,eAAe,GAAK,QAAQ,EAAG,CAAC;QAQxC,0BAAqB,GAAG,CAAC,QAAsB,EAAQ,EAAE;YAC5D,IAAI,CAAC,kBAAkB,mCAAQ,eAAe,GAAK,QAAQ,CAAE,CAAC;YAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAO,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1F,CAAC,CAAC;QAEK,eAAU,GAAG,GAAkC,EAAE;YACpD,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACtF,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;aAC3B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,oBAAW,CAAC,sCAAsC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aAC9G;YAED,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAC3B,YAAE,CAAC,iBAAiB,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EACpF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"FTPProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/protocol-strategy/FTPProtocolStrategy.ts"],"names":[],"mappings":"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"}
|