@golemio/core 1.16.0 → 1.17.0-rc.1552318548
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/integration-engine/datasources/DataSource.d.ts +10 -1
- package/dist/integration-engine/datasources/DataSource.js +47 -23
- package/dist/integration-engine/datasources/DataSource.js.map +1 -1
- package/dist/integration-engine/datasources/DataSourceStreamed.d.ts +5 -1
- package/dist/integration-engine/datasources/DataSourceStreamed.js +30 -22
- package/dist/integration-engine/datasources/DataSourceStreamed.js.map +1 -1
- package/dist/integration-engine/datasources/IDataSource.d.ts +11 -2
- package/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy.d.ts +1 -1
- package/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy.js +9 -0
- package/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy.js.map +1 -1
- package/dist/integration-engine/datasources/protocol-strategy/IProtocolStrategy.d.ts +6 -0
- package/dist/integration-engine/datasources/protocol-strategy/PaginatedHTTPProtocolStrategy.js +10 -2
- package/dist/integration-engine/datasources/protocol-strategy/PaginatedHTTPProtocolStrategy.js.map +1 -1
- package/dist/integration-engine/datasources/protocol-strategy/ProtocolStrategy.d.ts +4 -0
- package/dist/integration-engine/datasources/protocol-strategy/ProtocolStrategy.js +8 -2
- package/dist/integration-engine/datasources/protocol-strategy/ProtocolStrategy.js.map +1 -1
- package/dist/integration-engine/helpers/ResourceNotModified.d.ts +3 -0
- package/dist/integration-engine/helpers/ResourceNotModified.js +8 -0
- package/dist/integration-engine/helpers/ResourceNotModified.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LoggerEmitter } from "../../helpers/logger";
|
|
2
2
|
import { DataSourceStream, IDataSource, IDataTypeStrategy, IProtocolStrategy } from "./";
|
|
3
|
+
import { ResourceNotModified } from "../helpers/ResourceNotModified";
|
|
3
4
|
import { IValidator } from "@golemio/validator";
|
|
4
5
|
export declare class DataSource<T = any> implements IDataSource<T> {
|
|
5
6
|
dataStream: DataSourceStream;
|
|
@@ -13,8 +14,16 @@ export declare class DataSource<T = any> implements IDataSource<T> {
|
|
|
13
14
|
setDataTypeStrategy: (strategy: IDataTypeStrategy | null) => void;
|
|
14
15
|
setValidator: (validator: IValidator | null) => void;
|
|
15
16
|
getAll(): Promise<T>;
|
|
17
|
+
getAllWithMetadata(): Promise<{
|
|
18
|
+
data: T | ResourceNotModified;
|
|
19
|
+
metadata: unknown;
|
|
20
|
+
}>;
|
|
16
21
|
getLastModified(): Promise<string>;
|
|
17
|
-
protected getRawData
|
|
22
|
+
protected getRawData(): Promise<{
|
|
23
|
+
data: T | ResourceNotModified;
|
|
24
|
+
metadata: unknown;
|
|
25
|
+
}>;
|
|
26
|
+
private getResponseStatusCode;
|
|
18
27
|
protected isEmpty: (content: T) => boolean;
|
|
19
28
|
private notifyNumberOfRecords;
|
|
20
29
|
private formatDataForError;
|
|
@@ -13,6 +13,7 @@ exports.DataSource = void 0;
|
|
|
13
13
|
const logger_1 = require("../../helpers/logger");
|
|
14
14
|
const datasources_1 = require("./");
|
|
15
15
|
const helpers_1 = require("../helpers");
|
|
16
|
+
const ResourceNotModified_1 = require("../helpers/ResourceNotModified");
|
|
16
17
|
const ioc_1 = require("../ioc");
|
|
17
18
|
const errors_1 = require("@golemio/errors");
|
|
18
19
|
class DataSource {
|
|
@@ -30,19 +31,6 @@ class DataSource {
|
|
|
30
31
|
this.setValidator = (validator) => {
|
|
31
32
|
this.validator = validator;
|
|
32
33
|
};
|
|
33
|
-
this.getRawData = () => __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
var _b;
|
|
35
|
-
try {
|
|
36
|
-
const body = yield this.protocolStrategy.getData();
|
|
37
|
-
const isFile = (0, datasources_1.isFileObject)(body);
|
|
38
|
-
const content = yield ((_b = this.dataTypeStrategy) === null || _b === void 0 ? void 0 : _b.parseData(isFile ? body.data : body));
|
|
39
|
-
this.notifyNumberOfRecords(content);
|
|
40
|
-
return isFile ? Object.assign(Object.assign({}, body), { data: content }) : content;
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
throw new errors_1.GeneralError("Retrieving of the source data failed.", this.name, err);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
34
|
this.isEmpty = (content) => {
|
|
47
35
|
if (!content) {
|
|
48
36
|
return true;
|
|
@@ -96,19 +84,29 @@ class DataSource {
|
|
|
96
84
|
}
|
|
97
85
|
getAll() {
|
|
98
86
|
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
-
const data = yield this.
|
|
100
|
-
if (
|
|
101
|
-
|
|
102
|
-
yield this.validator.Validate((0, datasources_1.isFileObject)(data) ? data.data : data);
|
|
103
|
-
}
|
|
104
|
-
catch (err) {
|
|
105
|
-
throw new errors_1.GeneralError(`Error while validating source data: ${this.formatDataForError(data)}`, this.name, err);
|
|
106
|
-
}
|
|
87
|
+
const { data } = yield this.getAllWithMetadata();
|
|
88
|
+
if (data instanceof ResourceNotModified_1.ResourceNotModified) {
|
|
89
|
+
throw new errors_1.GeneralError("Data source returned 304 Not Modified, which is not a supported response type for this data source.", this.name);
|
|
107
90
|
}
|
|
108
|
-
|
|
91
|
+
return data;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
getAllWithMetadata() {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
const res = yield this.getRawData();
|
|
97
|
+
if (!this.validator) {
|
|
109
98
|
helpers_1.log.warn("DataSource validator is not set.");
|
|
99
|
+
return res;
|
|
110
100
|
}
|
|
111
|
-
|
|
101
|
+
if (res.data instanceof ResourceNotModified_1.ResourceNotModified)
|
|
102
|
+
return res;
|
|
103
|
+
try {
|
|
104
|
+
yield this.validator.Validate((0, datasources_1.isFileObject)(res.data) ? res.data.data : res.data);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
throw new errors_1.GeneralError(`Error while validating source data: ${this.formatDataForError(res.data)}`, this.name, err);
|
|
108
|
+
}
|
|
109
|
+
return res;
|
|
112
110
|
});
|
|
113
111
|
}
|
|
114
112
|
getLastModified() {
|
|
@@ -116,6 +114,32 @@ class DataSource {
|
|
|
116
114
|
return this.protocolStrategy.getLastModified();
|
|
117
115
|
});
|
|
118
116
|
}
|
|
117
|
+
getRawData() {
|
|
118
|
+
var _a;
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
try {
|
|
121
|
+
const res = yield this.protocolStrategy.getDataWithMetadata();
|
|
122
|
+
if (this.getResponseStatusCode(res.metadata) === 304) {
|
|
123
|
+
return { data: new ResourceNotModified_1.ResourceNotModified(), metadata: res.metadata };
|
|
124
|
+
}
|
|
125
|
+
const body = res.data;
|
|
126
|
+
const isFile = (0, datasources_1.isFileObject)(body);
|
|
127
|
+
const content = yield ((_a = this.dataTypeStrategy) === null || _a === void 0 ? void 0 : _a.parseData(isFile ? body.data : body));
|
|
128
|
+
this.notifyNumberOfRecords(content);
|
|
129
|
+
return isFile
|
|
130
|
+
? { data: Object.assign(Object.assign({}, body), { data: content }), metadata: res.metadata }
|
|
131
|
+
: { data: content, metadata: res.metadata };
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
throw new errors_1.GeneralError("Retrieving of the source data failed.", this.name, err);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
getResponseStatusCode(metadata) {
|
|
139
|
+
if (typeof metadata === "object" && metadata !== null && "statusCode" in metadata && metadata.statusCode === 304) {
|
|
140
|
+
return metadata.statusCode;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
119
143
|
}
|
|
120
144
|
exports.DataSource = DataSource;
|
|
121
145
|
//# sourceMappingURL=DataSource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/DataSource.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAiE;AACjE,oCAAoH;AACpH,wCAAkC;AAClC,gCAAqE;AACrE,4CAA+C;AAG/C,MAAa,UAAU;IAQnB,YACI,IAAY,EACZ,gBAAmC,EACnC,mBAA6C,IAAI,EACjD,YAA+B,IAAI;;QAkBhC,wBAAmB,GAAG,CAAC,QAA2B,EAAQ,EAAE;YAC/D,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;gBACrC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClD;QACL,CAAC,CAAC;QAEK,wBAAmB,GAAG,CAAC,QAAkC,EAAQ,EAAE;YACtE,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACrC,CAAC,CAAC;QAEK,iBAAY,GAAG,CAAC,SAA4B,EAAQ,EAAE;YACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/DataSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,11 @@ import { DataSource, DataSourceStream, IDataSource } from "./";
|
|
|
2
2
|
export declare class DataSourceStreamed extends DataSource implements IDataSource {
|
|
3
3
|
private dataBuffer;
|
|
4
4
|
proceed: () => Promise<void>;
|
|
5
|
-
getAll
|
|
5
|
+
getAll(useDataBuffer?: boolean): Promise<DataSourceStream>;
|
|
6
|
+
getAllWithMetadata(useDataBuffer?: boolean): Promise<{
|
|
7
|
+
data: DataSourceStream;
|
|
8
|
+
metadata: unknown;
|
|
9
|
+
}>;
|
|
6
10
|
/**
|
|
7
11
|
* @param {boolean} useDataBuffer data is buffered and sent to output stream in `config.DATA_BATCH_SIZE` batches
|
|
8
12
|
*/
|
|
@@ -22,28 +22,6 @@ class DataSourceStreamed extends datasources_1.DataSource {
|
|
|
22
22
|
this.proceed = () => __awaiter(this, void 0, void 0, function* () {
|
|
23
23
|
return this.dataStream.proceed();
|
|
24
24
|
});
|
|
25
|
-
this.getAll = (useDataBuffer = false) => __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
this.dataStream = yield this.getOutputStream(useDataBuffer);
|
|
27
|
-
this.dataStream.on("end", () => {
|
|
28
|
-
this.dataStream.destroy();
|
|
29
|
-
});
|
|
30
|
-
this.dataStream.onDataListeners.push((data) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
if (this.validator) {
|
|
32
|
-
try {
|
|
33
|
-
this.dataStream.pause();
|
|
34
|
-
yield this.validator.Validate(data);
|
|
35
|
-
this.dataStream.resume();
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
this.dataStream.destroy(new errors_1.GeneralError("Error while validating source data.", this.name, err));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
helpers_1.log.warn("DataSource validator is not set.");
|
|
43
|
-
}
|
|
44
|
-
}));
|
|
45
|
-
return this.dataStream;
|
|
46
|
-
});
|
|
47
25
|
/**
|
|
48
26
|
* @param {boolean} useDataBuffer data is buffered and sent to output stream in `config.DATA_BATCH_SIZE` batches
|
|
49
27
|
*/
|
|
@@ -130,6 +108,36 @@ class DataSourceStreamed extends datasources_1.DataSource {
|
|
|
130
108
|
}
|
|
131
109
|
});
|
|
132
110
|
}
|
|
111
|
+
getAll(useDataBuffer = false) {
|
|
112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
const { data } = yield this.getAllWithMetadata(useDataBuffer);
|
|
114
|
+
return data;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
getAllWithMetadata(useDataBuffer = false) {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
this.dataStream = yield this.getOutputStream(useDataBuffer);
|
|
120
|
+
this.dataStream.on("end", () => {
|
|
121
|
+
this.dataStream.destroy();
|
|
122
|
+
});
|
|
123
|
+
this.dataStream.onDataListeners.push((data) => __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
if (this.validator) {
|
|
125
|
+
try {
|
|
126
|
+
this.dataStream.pause();
|
|
127
|
+
yield this.validator.Validate(data);
|
|
128
|
+
this.dataStream.resume();
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
this.dataStream.destroy(new errors_1.GeneralError("Error while validating source data.", this.name, err));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
helpers_1.log.warn("DataSource validator is not set.");
|
|
136
|
+
}
|
|
137
|
+
}));
|
|
138
|
+
return { data: this.dataStream, metadata: undefined };
|
|
139
|
+
});
|
|
140
|
+
}
|
|
133
141
|
}
|
|
134
142
|
exports.DataSourceStreamed = DataSourceStreamed;
|
|
135
143
|
//# sourceMappingURL=DataSourceStreamed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSourceStreamed.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/DataSourceStreamed.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAkD;AAClD,sCAAoC;AACpC,oCAA4E;AAC5E,wCAAkC;AAClC,4CAAqE;AAErE,MAAa,kBAAmB,SAAQ,wBAAU;IAAlD;;QACY,eAAU,GAAU,EAAE,CAAC;QAExB,YAAO,GAAG,GAAwB,EAAE;YACvC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC,CAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"DataSourceStreamed.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/DataSourceStreamed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { DataSourceStream, IDataTypeStrategy, IProtocolStrategy } from "./";
|
|
2
|
+
import { ResourceNotModified } from "../helpers/ResourceNotModified";
|
|
1
3
|
import { IValidator } from "@golemio/validator";
|
|
2
|
-
import { IDataTypeStrategy, IProtocolStrategy, DataSourceStream } from "./";
|
|
3
4
|
export interface IDataSource<T = any> {
|
|
4
5
|
/** The name of the data source. */
|
|
5
6
|
name: string;
|
|
@@ -8,10 +9,18 @@ export interface IDataSource<T = any> {
|
|
|
8
9
|
setDataTypeStrategy(strategy: IDataTypeStrategy): void;
|
|
9
10
|
setValidator(validator: IValidator): void;
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* Get raw data, validate them and return as a response.
|
|
12
13
|
*
|
|
13
14
|
* @returns {Promise<T>} Promise with received data.
|
|
14
15
|
*/
|
|
15
16
|
getAll(): Promise<T>;
|
|
17
|
+
/**
|
|
18
|
+
* Get raw data, validate them and return as a response, including any metadata such as HTTP headers. If the data has not been
|
|
19
|
+
* modified (HTTP 304 Not Modified response was received), return `ResourceNotModified`.
|
|
20
|
+
*/
|
|
21
|
+
getAllWithMetadata(): Promise<{
|
|
22
|
+
data: T | ResourceNotModified;
|
|
23
|
+
metadata: unknown;
|
|
24
|
+
}>;
|
|
16
25
|
getLastModified(): Promise<string>;
|
|
17
26
|
}
|
package/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { IHTTPProtocolStrategyResult } from "./interfaces/IHTTPProtocolStrategyR
|
|
|
4
4
|
export declare class HTTPFetchProtocolStrategy<T = any> extends ProtocolStrategy {
|
|
5
5
|
protected connectionSettings: IHTTPFetchSettings;
|
|
6
6
|
constructor(settings: IHTTPFetchSettings);
|
|
7
|
-
getRawData(): Promise<IHTTPProtocolStrategyResult<T>>;
|
|
7
|
+
getRawData(): Promise<IHTTPProtocolStrategyResult<T> | IHTTPProtocolStrategyResult<null>>;
|
|
8
8
|
private getHeaders;
|
|
9
9
|
private prepareAbortController;
|
|
10
10
|
}
|
|
@@ -36,6 +36,15 @@ class HTTPFetchProtocolStrategy extends ProtocolStrategy_1.ProtocolStrategy {
|
|
|
36
36
|
});
|
|
37
37
|
const headers = this.getHeaders(result.headers);
|
|
38
38
|
statusCode = result.status;
|
|
39
|
+
if (statusCode === 304) {
|
|
40
|
+
return {
|
|
41
|
+
data: null,
|
|
42
|
+
meta: {
|
|
43
|
+
headers,
|
|
44
|
+
statusCode,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
39
48
|
let data;
|
|
40
49
|
if (this.connectionSettings.responseType === "json") {
|
|
41
50
|
data = (yield result.json());
|
package/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTTPFetchProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAsF;AACtF,4CAA+C;AAI/C,MAAa,yBAAmC,SAAQ,mCAAgB;IAGpE,YAAY,QAA4B;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"HTTPFetchProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAsF;AACtF,4CAA+C;AAI/C,MAAa,yBAAmC,SAAQ,mCAAgB;IAGpE,YAAY,QAA4B;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAC;QA2DZ,eAAU,GAAG,CAAC,OAAgB,EAA0B,EAAE;YAC9D,MAAM,aAAa,GAA2B,EAAE,CAAC;YAEjD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3B,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC;QACzB,CAAC,CAAC;IAlEF,CAAC;IAEY,UAAU;;YACnB,IAAI,UAA8B,CAAC;YACnC,IAAI;gBACA,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAEtD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBACpD,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;oBAClC,OAAO,oBACC,IAAI,CAAC,kBAAkB,CAAC,OAAkC,CACjE;oBACD,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM;oBACtC,MAAM,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM;iBAClC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChD,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBAE3B,IAAI,UAAU,KAAK,GAAG,EAAE;oBACpB,OAAO;wBACH,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE;4BACF,OAAO;4BACP,UAAU;yBACb;qBACJ,CAAC;iBACL;gBAED,IAAI,IAAO,CAAC;gBACZ,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,KAAK,MAAM,EAAE;oBACjD,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAM,CAAC;iBACrC;qBAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,KAAK,MAAM,EAAE;oBACxD,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAM,CAAC;iBACrC;qBAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,KAAK,MAAM,EAAE;oBACxD,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAM,CAAC;iBACrC;qBAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,KAAK,aAAa,EAAE;oBAC/D,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAM,CAAC;iBAC5C;qBAAM;oBACH,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAM,CAAC;iBACrC;gBAED,OAAO;oBACH,IAAI;oBACJ,IAAI,EAAE;wBACF,OAAO;wBACP,UAAU;qBACb;iBACJ,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,qBAAY,CAClB,+DAA+D,UAAU,EAAE,EAC3E,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;QACL,CAAC;KAAA;IAYO,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE;YAC3C,OAAO,IAAI,CAAC;SACf;QAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;QAE3F,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AAnFD,8DAmFC"}
|
|
@@ -110,6 +110,12 @@ export interface IProtocolStrategy {
|
|
|
110
110
|
setCallerName(caller: string): void;
|
|
111
111
|
getConnectionSettings(): ProtocolStrategySettings;
|
|
112
112
|
setConnectionSettings(settings: ProtocolStrategySettings): void;
|
|
113
|
+
/** Get data */
|
|
113
114
|
getData(): Promise<any | DataSourceStream>;
|
|
115
|
+
/** Get data including any metadata such as HTTP headers */
|
|
116
|
+
getDataWithMetadata(): Promise<{
|
|
117
|
+
data: unknown | DataSourceStream;
|
|
118
|
+
metadata: unknown;
|
|
119
|
+
}>;
|
|
114
120
|
getLastModified(): Promise<any>;
|
|
115
121
|
}
|
package/dist/integration-engine/datasources/protocol-strategy/PaginatedHTTPProtocolStrategy.js
CHANGED
|
@@ -24,11 +24,19 @@ class PaginatedHTTPProtocolStrategy extends HTTPFetchProtocolStrategy_1.HTTPFetc
|
|
|
24
24
|
var _a, _b;
|
|
25
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
26
|
try {
|
|
27
|
-
let
|
|
27
|
+
let res = yield _super.getRawData.call(this);
|
|
28
|
+
if (res.data === null) {
|
|
29
|
+
throw new errors_1.GeneralError("No data", this.constructor.name);
|
|
30
|
+
}
|
|
31
|
+
let resultPage = res;
|
|
28
32
|
const result = resultPage;
|
|
29
33
|
while ((_a = resultPage.data.properties) === null || _a === void 0 ? void 0 : _a.exceededTransferLimit) {
|
|
30
34
|
this.setNextPageUrl();
|
|
31
|
-
|
|
35
|
+
res = yield _super.getRawData.call(this);
|
|
36
|
+
if (res.data === null) {
|
|
37
|
+
throw new errors_1.GeneralError("No data", this.constructor.name);
|
|
38
|
+
}
|
|
39
|
+
resultPage = res;
|
|
32
40
|
result.data.features.push(...resultPage.data.features);
|
|
33
41
|
}
|
|
34
42
|
(_b = result.data.properties) === null || _b === void 0 ? true : delete _b.exceededTransferLimit;
|
package/dist/integration-engine/datasources/protocol-strategy/PaginatedHTTPProtocolStrategy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginatedHTTPProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/protocol-strategy/PaginatedHTTPProtocolStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qEAAgE;AAChE,4CAA+C;AAC/C,2EAAwE;AAYxE,MAAa,6BAAuC,SAAQ,qDAAuD;IAC/G,YAAY,QAA4B;QACpC,KAAK,iCAAM,QAAQ,KAAE,GAAG,EAAE,mCAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAG,CAAC;IACpF,CAAC;IAEY,UAAU;;;;;;YACnB,IAAI;gBACA,IAAI,
|
|
1
|
+
{"version":3,"file":"PaginatedHTTPProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/protocol-strategy/PaginatedHTTPProtocolStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qEAAgE;AAChE,4CAA+C;AAC/C,2EAAwE;AAYxE,MAAa,6BAAuC,SAAQ,qDAAuD;IAC/G,YAAY,QAA4B;QACpC,KAAK,iCAAM,QAAQ,KAAE,GAAG,EAAE,mCAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAG,CAAC;IACpF,CAAC;IAEY,UAAU;;;;;;YACnB,IAAI;gBACA,IAAI,GAAG,GAAG,MAAM,OAAM,UAAU,WAAE,CAAC;gBACnC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE;oBACnB,MAAM,IAAI,qBAAY,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBAC5D;gBAED,IAAI,UAAU,GAA8D,GAAG,CAAC;gBAChF,MAAM,MAAM,GAAG,UAAU,CAAC;gBAE1B,OAAO,MAAA,UAAU,CAAC,IAAI,CAAC,UAAU,0CAAE,qBAAqB,EAAE;oBACtD,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,GAAG,GAAG,MAAM,OAAM,UAAU,WAAE,CAAC;oBAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE;wBACnB,MAAM,IAAI,qBAAY,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;qBAC5D;oBACD,UAAU,GAAG,GAAG,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC1D;gBAEM,MAAA,MAAM,CAAC,IAAI,CAAC,UAAU,+CAAE,qBAAqB,CAAC;gBACrD,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEtB,OAAO,MAAM,CAAC;aACjB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,qBAAY,CAAC,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/F;;KACJ;IAEO,cAAc;QAClB,IAAI,CAAC,qBAAqB,iCACnB,IAAI,CAAC,kBAAkB,KAC1B,GAAG,EAAE,mCAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IACnE,CAAC;IACP,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,qBAAqB,iCACnB,IAAI,CAAC,kBAAkB,KAC1B,GAAG,EAAE,mCAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IACnE,CAAC;IACP,CAAC;CACJ;AA/CD,sEA+CC"}
|
|
@@ -8,6 +8,10 @@ export declare class ProtocolStrategy implements IProtocolStrategy {
|
|
|
8
8
|
setConnectionSettings(settings: any): void;
|
|
9
9
|
getConnectionSettings: () => ProtocolStrategySettings;
|
|
10
10
|
getData(...args: any[]): Promise<any | DataSourceStream>;
|
|
11
|
+
getDataWithMetadata(...args: unknown[]): Promise<{
|
|
12
|
+
data: unknown | DataSourceStream;
|
|
13
|
+
metadata: unknown;
|
|
14
|
+
}>;
|
|
11
15
|
getLastModified: () => Promise<string | null>;
|
|
12
16
|
protected getRawData(...args: any): Promise<any | DataSourceStream>;
|
|
13
17
|
private prepareRawData;
|
|
@@ -105,6 +105,12 @@ class ProtocolStrategy {
|
|
|
105
105
|
this.connectionSettings = settings;
|
|
106
106
|
}
|
|
107
107
|
getData(...args) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const { data } = yield this.getDataWithMetadata(...args);
|
|
110
|
+
return data;
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
getDataWithMetadata(...args) {
|
|
108
114
|
return __awaiter(this, void 0, void 0, function* () {
|
|
109
115
|
const result = yield this.getRawData(...args);
|
|
110
116
|
const rawData = result.data;
|
|
@@ -158,11 +164,11 @@ class ProtocolStrategy {
|
|
|
158
164
|
meta.statusCode = res.statusCode;
|
|
159
165
|
meta.headers = res.headers;
|
|
160
166
|
});
|
|
161
|
-
return dataStream;
|
|
167
|
+
return { data: dataStream, metadata: meta };
|
|
162
168
|
}
|
|
163
169
|
else {
|
|
164
170
|
RawDataStore.save(yield this.prepareRawData(rawData), meta, this.caller);
|
|
165
|
-
return rawData;
|
|
171
|
+
return { data: rawData, metadata: meta };
|
|
166
172
|
}
|
|
167
173
|
});
|
|
168
174
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/protocol-strategy/ProtocolStrategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AAEpC,2CAAkC;AAClC,yEAAyD;AACzD,4CAAqE;AACrE,mCAAkC;AAClC,0DAAuD;AAEvD,MAAa,gBAAgB;IAKzB,YAAY,QAAa;QAFjB,WAAM,GAAG,SAAS,CAAC;QAMpB,kBAAa,GAAG,CAAC,SAAiB,oBAAoB,EAAE,EAAE;YAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,iBAAiB;QAC3C,CAAC,CAAC;QAMK,0BAAqB,GAAG,GAA6B,EAAE;YAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACnC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ProtocolStrategy.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/protocol-strategy/ProtocolStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceNotModified = void 0;
|
|
4
|
+
/** The requested resource has not been modified (received HTTP response 304) */
|
|
5
|
+
class ResourceNotModified {
|
|
6
|
+
}
|
|
7
|
+
exports.ResourceNotModified = ResourceNotModified;
|
|
8
|
+
//# sourceMappingURL=ResourceNotModified.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceNotModified.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/ResourceNotModified.ts"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,MAAa,mBAAmB;CAE/B;AAFD,kDAEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.0-rc.1552318548",
|
|
4
4
|
"description": "Golemio Core Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -133,4 +133,4 @@
|
|
|
133
133
|
"dottie": "2.0.4",
|
|
134
134
|
"braces": "3.0.3"
|
|
135
135
|
}
|
|
136
|
-
}
|
|
136
|
+
}
|