@chainlink/external-adapter-framework 0.0.46 → 0.0.55
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/adapter.d.ts +18 -1
- package/adapter.js +70 -3
- package/adapter.js.map +1 -0
- package/background-executor.js +32 -0
- package/background-executor.js.map +1 -0
- package/cache/factory.d.ts +2 -2
- package/cache/factory.js +12 -46
- package/cache/factory.js.map +1 -0
- package/cache/index.js +4 -2
- package/cache/index.js.map +1 -0
- package/cache/local.js +1 -0
- package/cache/local.js.map +1 -0
- package/cache/metrics.js +1 -0
- package/cache/metrics.js.map +1 -0
- package/cache/redis.js +1 -0
- package/cache/redis.js.map +1 -0
- package/config/index.d.ts +34 -0
- package/config/index.js +41 -62
- package/config/index.js.map +1 -0
- package/config/provider-limits.js +1 -0
- package/config/provider-limits.js.map +1 -0
- package/examples/bank-frick/accounts.d.ts +15 -1
- package/examples/bank-frick/accounts.js +1 -0
- package/examples/bank-frick/accounts.js.map +1 -0
- package/examples/bank-frick/config/index.d.ts +15 -2
- package/examples/bank-frick/config/index.js +1 -0
- package/examples/bank-frick/config/index.js.map +1 -0
- package/examples/bank-frick/index.d.ts +15 -1
- package/examples/bank-frick/index.js +1 -0
- package/examples/bank-frick/index.js.map +1 -0
- package/examples/bank-frick/util.js +1 -0
- package/examples/bank-frick/util.js.map +1 -0
- package/examples/coingecko/batch-warming.d.ts +7 -0
- package/examples/coingecko/batch-warming.js +54 -0
- package/examples/coingecko/batch-warming.js.map +1 -0
- package/examples/coingecko/index.d.ts +2 -0
- package/examples/coingecko/index.js +12 -0
- package/examples/coingecko/index.js.map +1 -0
- package/examples/coingecko/rest.d.ts +12 -0
- package/examples/coingecko/rest.js +55 -0
- package/examples/coingecko/rest.js.map +1 -0
- package/examples/coingecko/src/config/index.js +1 -0
- package/examples/coingecko/src/config/index.js.map +1 -0
- package/examples/coingecko/src/crypto-utils.d.ts +31 -0
- package/examples/coingecko/src/crypto-utils.js +61 -0
- package/examples/coingecko/src/crypto-utils.js.map +1 -0
- package/examples/coingecko/src/endpoint/coins.js +4 -1
- package/examples/coingecko/src/endpoint/coins.js.map +1 -0
- package/examples/coingecko/src/endpoint/crypto-marketcap.d.ts +1 -1
- package/examples/coingecko/src/endpoint/crypto-marketcap.js +5 -4
- package/examples/coingecko/src/endpoint/crypto-marketcap.js.map +1 -0
- package/examples/coingecko/src/endpoint/crypto-volume.d.ts +1 -1
- package/examples/coingecko/src/endpoint/crypto-volume.js +5 -4
- package/examples/coingecko/src/endpoint/crypto-volume.js.map +1 -0
- package/examples/coingecko/src/endpoint/crypto.d.ts +1 -1
- package/examples/coingecko/src/endpoint/crypto.js +5 -4
- package/examples/coingecko/src/endpoint/crypto.js.map +1 -0
- package/examples/coingecko/src/endpoint/dominance.d.ts +1 -1
- package/examples/coingecko/src/endpoint/dominance.js +5 -4
- package/examples/coingecko/src/endpoint/dominance.js.map +1 -0
- package/examples/coingecko/src/endpoint/global-marketcap.d.ts +1 -1
- package/examples/coingecko/src/endpoint/global-marketcap.js +5 -4
- package/examples/coingecko/src/endpoint/global-marketcap.js.map +1 -0
- package/examples/coingecko/src/endpoint/index.js +1 -0
- package/examples/coingecko/src/endpoint/index.js.map +1 -0
- package/examples/coingecko/src/global-utils.d.ts +27 -0
- package/examples/coingecko/src/global-utils.js +47 -0
- package/examples/coingecko/src/global-utils.js.map +1 -0
- package/examples/coingecko/src/index.d.ts +1 -1
- package/examples/coingecko/src/index.js +1 -0
- package/examples/coingecko/src/index.js.map +1 -0
- package/examples/coingecko-old/batch-warming.js +1 -0
- package/examples/coingecko-old/batch-warming.js.map +1 -0
- package/examples/coingecko-old/index.js +1 -0
- package/examples/coingecko-old/index.js.map +1 -0
- package/examples/coingecko-old/rest.js +5 -1
- package/examples/coingecko-old/rest.js.map +1 -0
- package/examples/genesis/config/index.d.ts +7 -0
- package/examples/genesis/config/index.js +11 -0
- package/examples/genesis/config/index.js.map +1 -0
- package/examples/genesis/index.d.ts +2 -0
- package/examples/genesis/index.js +13 -0
- package/examples/genesis/index.js.map +1 -0
- package/examples/genesis/sseStream.d.ts +16 -0
- package/examples/genesis/sseStream.js +142 -0
- package/examples/genesis/sseStream.js.map +1 -0
- package/examples/ncfx/config/index.js +1 -0
- package/examples/ncfx/config/index.js.map +1 -0
- package/examples/ncfx/index.js +1 -0
- package/examples/ncfx/index.js.map +1 -0
- package/examples/ncfx/websocket.js +1 -0
- package/examples/ncfx/websocket.js.map +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -0
- package/metrics/constants.js +1 -0
- package/metrics/constants.js.map +1 -0
- package/metrics/index.d.ts +2 -0
- package/metrics/index.js +13 -1
- package/metrics/index.js.map +1 -0
- package/metrics/util.js +1 -0
- package/metrics/util.js.map +1 -0
- package/package.json +7 -5
- package/rate-limiting/background/fixed-frequency.js +1 -3
- package/rate-limiting/background/fixed-frequency.js.map +1 -0
- package/rate-limiting/index.d.ts +1 -0
- package/rate-limiting/index.js +4 -2
- package/rate-limiting/index.js.map +1 -0
- package/rate-limiting/metrics.js +1 -0
- package/rate-limiting/metrics.js.map +1 -0
- package/rate-limiting/request/simple-counting.js +1 -0
- package/rate-limiting/request/simple-counting.js.map +1 -0
- package/transports/batch-warming.d.ts +2 -2
- package/transports/batch-warming.js +14 -6
- package/transports/batch-warming.js.map +1 -0
- package/transports/index.d.ts +2 -1
- package/transports/index.js +24 -0
- package/transports/index.js.map +1 -0
- package/transports/metrics.d.ts +3 -0
- package/transports/metrics.js +18 -1
- package/transports/metrics.js.map +1 -0
- package/transports/rest.d.ts +8 -2
- package/transports/rest.js +14 -13
- package/transports/rest.js.map +1 -0
- package/transports/sse.d.ts +41 -0
- package/transports/sse.js +96 -0
- package/transports/sse.js.map +1 -0
- package/transports/util.js +1 -0
- package/transports/util.js.map +1 -0
- package/transports/websocket.d.ts +2 -2
- package/transports/websocket.js +13 -11
- package/transports/websocket.js.map +1 -0
- package/util/censor/censor-list.d.ts +9 -0
- package/util/censor/censor-list.js +13 -0
- package/util/censor/censor-list.js.map +1 -0
- package/util/index.d.ts +1 -0
- package/util/index.js +4 -1
- package/util/index.js.map +1 -0
- package/util/logger.d.ts +3 -0
- package/util/logger.js +21 -1
- package/util/logger.js.map +1 -0
- package/util/request.d.ts +52 -6
- package/util/request.js +1 -0
- package/util/request.js.map +1 -0
- package/util/subscription-set/expiring-sorted-set.d.ts +0 -1
- package/util/subscription-set/expiring-sorted-set.js +1 -12
- package/util/subscription-set/expiring-sorted-set.js.map +1 -0
- package/util/subscription-set/redis-sorted-set.d.ts +9 -0
- package/util/subscription-set/redis-sorted-set.js +29 -0
- package/util/subscription-set/redis-sorted-set.js.map +1 -0
- package/util/subscription-set/subscription-set.d.ts +5 -4
- package/util/subscription-set/subscription-set.js +14 -5
- package/util/subscription-set/subscription-set.js.map +1 -0
- package/util/test-payload-loader.js +1 -0
- package/util/test-payload-loader.js.map +1 -0
- package/validation/error.js +1 -0
- package/validation/error.js.map +1 -0
- package/validation/index.js +9 -9
- package/validation/index.js.map +1 -0
- package/validation/input-params.d.ts +1 -1
- package/validation/input-params.js +1 -0
- package/validation/input-params.js.map +1 -0
- package/validation/input-validator.d.ts +16 -0
- package/validation/input-validator.js +124 -0
- package/validation/input-validator.js.map +1 -0
- package/validation/override-functions.js +1 -0
- package/validation/override-functions.js.map +1 -0
package/adapter.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import Redis from 'ioredis';
|
|
2
|
+
import type EventSource from 'eventsource';
|
|
1
3
|
import { Cache } from './cache';
|
|
2
4
|
import { AdapterConfig, BaseAdapterConfig, CustomSettingsType, SettingsMap } from './config';
|
|
3
5
|
import { AdapterRateLimitTier, BackgroundExecuteRateLimiter, RequestRateLimiter } from './rate-limiting';
|
|
4
6
|
import { Transport } from './transports';
|
|
5
7
|
import { SubscriptionSetFactory } from './util';
|
|
6
8
|
import { InputParameters } from './validation/input-params';
|
|
9
|
+
import { InputValidator } from './validation/input-validator';
|
|
7
10
|
/**
|
|
8
11
|
* Dependencies that will be injected into the Adapter on startup
|
|
9
12
|
*/
|
|
@@ -16,6 +19,10 @@ export interface AdapterDependencies {
|
|
|
16
19
|
backgroundExecuteRateLimiter: BackgroundExecuteRateLimiter;
|
|
17
20
|
/** Factory to create subscription sets based on the specified cache type */
|
|
18
21
|
subscriptionSetFactory: SubscriptionSetFactory;
|
|
22
|
+
/** Redis client used for cache and subscription set */
|
|
23
|
+
redisClient: Redis;
|
|
24
|
+
/** EventSource to use for listening to server sent events. A mock EventSource can be provided as a dependency for testing */
|
|
25
|
+
eventSource: typeof EventSource;
|
|
19
26
|
}
|
|
20
27
|
/**
|
|
21
28
|
* Context that will be used on background executions of a Transport.
|
|
@@ -93,9 +100,14 @@ export declare class AdapterEndpoint<Params, Result, CustomSettings extends Sett
|
|
|
93
100
|
transport: Transport<Params, Result, CustomSettings>;
|
|
94
101
|
inputParameters: InputParameters;
|
|
95
102
|
rateLimiting?: EndpointRateLimitingConfig | undefined;
|
|
103
|
+
validator: InputValidator;
|
|
96
104
|
constructor(params: AdapterEndpointParams<Params, Result, CustomSettings>);
|
|
97
105
|
}
|
|
98
|
-
|
|
106
|
+
declare type CustomAdapterSettings = SettingsMap & NegatedAdapterSettings;
|
|
107
|
+
declare type NegatedAdapterSettings = {
|
|
108
|
+
[K in keyof BaseAdapterConfig]?: never;
|
|
109
|
+
};
|
|
110
|
+
export declare class Adapter<CustomSettings extends CustomAdapterSettings = SettingsMap> implements AdapterParams<CustomSettings> {
|
|
99
111
|
name: string;
|
|
100
112
|
defaultEndpoint?: string | undefined;
|
|
101
113
|
endpoints: AdapterEndpoint<unknown, unknown, CustomSettings>[];
|
|
@@ -127,6 +139,11 @@ export declare class Adapter<CustomSettings extends SettingsMap = SettingsMap> i
|
|
|
127
139
|
*
|
|
128
140
|
*/
|
|
129
141
|
private calculateRateLimitAllocations;
|
|
142
|
+
/**
|
|
143
|
+
* Creates a list of key/value pairs that need to be censored in the logs
|
|
144
|
+
* using the sensitive flag in the adapter config
|
|
145
|
+
*/
|
|
146
|
+
private buildCensorList;
|
|
130
147
|
/**
|
|
131
148
|
* This function will process dependencies for an adapter, such as caches or rate limiters,
|
|
132
149
|
* in order to inject them into transports and other relevant places later in the lifecycle.
|
package/adapter.js
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
2
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
29
|
exports.Adapter = exports.AdapterEndpoint = void 0;
|
|
30
|
+
const ioredis_1 = __importDefault(require("ioredis"));
|
|
4
31
|
const cache_1 = require("./cache");
|
|
5
32
|
const config_1 = require("./config");
|
|
6
33
|
const rate_limiting_1 = require("./rate-limiting");
|
|
7
34
|
const util_1 = require("./util");
|
|
35
|
+
const censor_list_1 = __importDefault(require("./util/censor/censor-list"));
|
|
36
|
+
const cacheMetrics = __importStar(require("./cache/metrics"));
|
|
37
|
+
const input_validator_1 = require("./validation/input-validator");
|
|
8
38
|
const logger = (0, util_1.makeLogger)('Adapter');
|
|
9
39
|
class AdapterEndpoint {
|
|
10
40
|
constructor(params) {
|
|
@@ -13,6 +43,7 @@ class AdapterEndpoint {
|
|
|
13
43
|
this.transport = params.transport;
|
|
14
44
|
this.inputParameters = params.inputParameters;
|
|
15
45
|
this.rateLimiting = params.rateLimiting;
|
|
46
|
+
this.validator = new input_validator_1.InputValidator(this.inputParameters);
|
|
16
47
|
}
|
|
17
48
|
}
|
|
18
49
|
exports.AdapterEndpoint = AdapterEndpoint;
|
|
@@ -56,8 +87,11 @@ class Adapter {
|
|
|
56
87
|
this.endpointsMap[alias] = endpoint;
|
|
57
88
|
}
|
|
58
89
|
logger.debug(`Initializing transport for endpoint "${endpoint.name}"...`);
|
|
59
|
-
await endpoint.transport.initialize(this.dependencies, this.config);
|
|
90
|
+
await endpoint.transport.initialize(this.dependencies, this.config, endpoint.name);
|
|
60
91
|
}
|
|
92
|
+
// Build list of key/values that need to be redacted in logs
|
|
93
|
+
// Populates the static array in CensorList to use in censor-transport
|
|
94
|
+
this.buildCensorList();
|
|
61
95
|
logger.debug('Adapter initialization complete.');
|
|
62
96
|
this.initialized = true;
|
|
63
97
|
}
|
|
@@ -100,6 +134,23 @@ class Adapter {
|
|
|
100
134
|
logger.debug(`Endpoint [${endpoint.name}] - ${endpoint.rateLimiting?.allocationPercentage}%`);
|
|
101
135
|
}
|
|
102
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Creates a list of key/value pairs that need to be censored in the logs
|
|
139
|
+
* using the sensitive flag in the adapter config
|
|
140
|
+
*/
|
|
141
|
+
buildCensorList() {
|
|
142
|
+
const censorList = Object.entries(config_1.BaseSettings)
|
|
143
|
+
.concat(Object.entries(this.customSettings || {}))
|
|
144
|
+
.filter(([name, setting]) => setting && setting.type === 'string' && setting.sensitive && this.config[name])
|
|
145
|
+
.map(([name]) => ({
|
|
146
|
+
key: name,
|
|
147
|
+
// Escaping potential special characters in values before creating regex
|
|
148
|
+
value: new RegExp(
|
|
149
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
150
|
+
this.config[name].replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')),
|
|
151
|
+
}));
|
|
152
|
+
censor_list_1.default.set(censorList);
|
|
153
|
+
}
|
|
103
154
|
/**
|
|
104
155
|
* This function will process dependencies for an adapter, such as caches or rate limiters,
|
|
105
156
|
* in order to inject them into transports and other relevant places later in the lifecycle.
|
|
@@ -109,8 +160,23 @@ class Adapter {
|
|
|
109
160
|
*/
|
|
110
161
|
initializeDependencies(inputDependencies) {
|
|
111
162
|
const dependencies = inputDependencies || {};
|
|
163
|
+
if (!dependencies.redisClient) {
|
|
164
|
+
if (this.config.CACHE_TYPE === 'redis') {
|
|
165
|
+
dependencies.redisClient = new ioredis_1.default({
|
|
166
|
+
enableAutoPipelining: true,
|
|
167
|
+
host: this.config.CACHE_REDIS_HOST,
|
|
168
|
+
port: this.config.CACHE_REDIS_PORT,
|
|
169
|
+
password: this.config.CACHE_REDIS_PASSWORD,
|
|
170
|
+
path: this.config.CACHE_REDIS_PATH,
|
|
171
|
+
timeout: this.config.CACHE_REDIS_TIMEOUT,
|
|
172
|
+
});
|
|
173
|
+
dependencies.redisClient.on('connect', () => {
|
|
174
|
+
cacheMetrics.redisConnectionsOpen.inc();
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
112
178
|
if (!dependencies.cache) {
|
|
113
|
-
dependencies.cache = cache_1.CacheFactory.buildCache(this.config);
|
|
179
|
+
dependencies.cache = cache_1.CacheFactory.buildCache(this.config.CACHE_TYPE, dependencies.redisClient);
|
|
114
180
|
}
|
|
115
181
|
const rateLimitingTier = (0, rate_limiting_1.getRateLimitingTier)(this.config, this.rateLimiting?.tiers);
|
|
116
182
|
if (!dependencies.requestRateLimiter) {
|
|
@@ -120,9 +186,10 @@ class Adapter {
|
|
|
120
186
|
dependencies.backgroundExecuteRateLimiter = new rate_limiting_1.FixedFrequencyRateLimiter().initialize(this.endpoints, rateLimitingTier);
|
|
121
187
|
}
|
|
122
188
|
if (!dependencies.subscriptionSetFactory) {
|
|
123
|
-
dependencies.subscriptionSetFactory = new util_1.SubscriptionSetFactory(this.config);
|
|
189
|
+
dependencies.subscriptionSetFactory = new util_1.SubscriptionSetFactory(this.config, dependencies.redisClient, this.name);
|
|
124
190
|
}
|
|
125
191
|
return dependencies;
|
|
126
192
|
}
|
|
127
193
|
}
|
|
128
194
|
exports.Adapter = Adapter;
|
|
195
|
+
//# sourceMappingURL=adapter.js.map
|
package/adapter.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/background-executor.js
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.callBackgroundExecutes = void 0;
|
|
4
27
|
const util_1 = require("./util");
|
|
28
|
+
const metrics = __importStar(require("./metrics"));
|
|
5
29
|
const logger = (0, util_1.makeLogger)('BackgroundExecutor');
|
|
6
30
|
/**
|
|
7
31
|
* Very simple background loop that will call the [[Transport.backgroundExecute]] functions in all Transports.
|
|
@@ -38,9 +62,16 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
|
|
|
38
62
|
logger.info('Server closed, stopping recursive backgroundExecute handler chain');
|
|
39
63
|
return;
|
|
40
64
|
}
|
|
65
|
+
// Count number of background executions per endpoint
|
|
66
|
+
metrics.bgExecuteTotal.labels({ endpoint: endpoint.name }).inc();
|
|
67
|
+
// Time the duration of the background execute process excluding sleep time
|
|
68
|
+
const metricsTimer = metrics.bgExecuteDurationSeconds
|
|
69
|
+
.labels({ endpoint: endpoint.name })
|
|
70
|
+
.startTimer();
|
|
41
71
|
logger.debug(`Calling background execute for endpoint "${endpoint.name}"`);
|
|
42
72
|
const timeToWait = await backgroundExecute(context);
|
|
43
73
|
logger.debug(`Finished background execute for endpoint "${endpoint.name}", sleeping for ${timeToWait}ms`);
|
|
74
|
+
metricsTimer();
|
|
44
75
|
timeoutsMap[endpoint.name] = setTimeout(handler, timeToWait);
|
|
45
76
|
};
|
|
46
77
|
// Start recursive async calls
|
|
@@ -48,3 +79,4 @@ async function callBackgroundExecutes(adapter, apiShutdownPromise) {
|
|
|
48
79
|
}
|
|
49
80
|
}
|
|
50
81
|
exports.callBackgroundExecutes = callBackgroundExecutes;
|
|
82
|
+
//# sourceMappingURL=background-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-executor.js","sourceRoot":"","sources":["../../src/background-executor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAAmC;AACnC,mDAAoC;AAEpC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,oBAAoB,CAAC,CAAA;AAE/C;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAAC,OAAgB,EAAE,kBAAkC;IAC/F,uFAAuF;IACvF,4FAA4F;IAC5F,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,MAAM,WAAW,GAEb,EAAE,CAAA;IAEN,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;QAC5B,YAAY,GAAG,IAAI,CAAA;QACnB,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE;YACtC,MAAM,CAAC,KAAK,CAAC,kCAAkC,YAAY,GAAG,CAAC,CAAA;YAC/D,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAA;YACjC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAA;SACxC;IACH,CAAC,CAAC,CAAA;IAEF,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;QACxC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxF,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,IAAI,0CAA0C,CAAC,CAAA;YAClF,SAAQ;SACT;QAED,MAAM,OAAO,GAAmB;YAC9B,eAAe,EAAE,QAAQ;YACzB,aAAa,EAAE,OAAO,CAAC,MAAM;SAC9B,CAAA;QAED,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,YAAY,EAAE;gBAChB,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;gBAChF,OAAM;aACP;YACD,qDAAqD;YACrD,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;YAEhE,2EAA2E;YAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,wBAAwB;iBAClD,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;iBACnC,UAAU,EAAE,CAAA;YAEf,MAAM,CAAC,KAAK,CAAC,4CAA4C,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;YAC1E,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;YACnD,MAAM,CAAC,KAAK,CACV,6CAA6C,QAAQ,CAAC,IAAI,mBAAmB,UAAU,IAAI,CAC5F,CAAA;YAED,YAAY,EAAE,CAAA;YACd,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC9D,CAAC,CAAA;QAED,8BAA8B;QAC9B,OAAO,EAAE,CAAA;KACV;AACH,CAAC;AAvDD,wDAuDC"}
|
package/cache/factory.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Redis from 'ioredis';
|
|
2
2
|
import { LocalCache } from './local';
|
|
3
3
|
import { RedisCache } from './redis';
|
|
4
4
|
export declare class CacheFactory {
|
|
5
|
-
static buildCache(
|
|
5
|
+
static buildCache(cacheType: string, redisClient?: Redis): LocalCache<unknown> | RedisCache<unknown> | undefined;
|
|
6
6
|
}
|
package/cache/factory.js
CHANGED
|
@@ -1,58 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
3
|
exports.CacheFactory = void 0;
|
|
30
|
-
const ioredis_1 = __importDefault(require("ioredis"));
|
|
31
4
|
const util_1 = require("../util");
|
|
32
5
|
const local_1 = require("./local");
|
|
33
|
-
const cacheMetrics = __importStar(require("./metrics"));
|
|
34
6
|
const redis_1 = require("./redis");
|
|
35
7
|
const logger = (0, util_1.makeLogger)('CacheFactory');
|
|
36
8
|
class CacheFactory {
|
|
37
|
-
static buildCache(
|
|
38
|
-
logger.info(`Using "${
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
path: config.CACHE_REDIS_PATH,
|
|
49
|
-
timeout: config.CACHE_REDIS_TIMEOUT,
|
|
50
|
-
});
|
|
51
|
-
redis.on('connect', () => {
|
|
52
|
-
cacheMetrics.redisConnectionsOpen.inc();
|
|
53
|
-
});
|
|
54
|
-
return new redis_1.RedisCache(redis);
|
|
9
|
+
static buildCache(cacheType, redisClient) {
|
|
10
|
+
logger.info(`Using "${cacheType}" cache.`);
|
|
11
|
+
switch (cacheType) {
|
|
12
|
+
case 'local':
|
|
13
|
+
return new local_1.LocalCache();
|
|
14
|
+
case 'redis': {
|
|
15
|
+
if (!redisClient) {
|
|
16
|
+
throw new Error('Redis client undefined. Cannot create Redis cache');
|
|
17
|
+
}
|
|
18
|
+
return new redis_1.RedisCache(redisClient);
|
|
19
|
+
}
|
|
55
20
|
}
|
|
56
21
|
}
|
|
57
22
|
}
|
|
58
23
|
exports.CacheFactory = CacheFactory;
|
|
24
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/cache/factory.ts"],"names":[],"mappings":";;;AACA,kCAAoC;AACpC,mCAAoC;AACpC,mCAAoC;AAEpC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAA;AACzC,MAAa,YAAY;IACvB,MAAM,CAAC,UAAU,CAAC,SAAiB,EAAE,WAAmB;QACtD,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,UAAU,CAAC,CAAA;QAC1C,QAAQ,SAAS,EAAE;YACjB,KAAK,OAAO;gBACV,OAAO,IAAI,kBAAU,EAAE,CAAA;YACzB,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,WAAW,EAAE;oBAChB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;iBACrE;gBACD,OAAO,IAAI,kBAAU,CAAC,WAAW,CAAC,CAAA;aACnC;SACF;IACH,CAAC;CACF;AAdD,oCAcC"}
|
package/cache/index.js
CHANGED
|
@@ -40,7 +40,9 @@ const calculateCacheKey = ({ adapterEndpoint, adapterConfig, }, data) => {
|
|
|
40
40
|
logger.trace(`Using default cache key ${adapterConfig.DEFAULT_CACHE_KEY}`);
|
|
41
41
|
return adapterConfig.DEFAULT_CACHE_KEY;
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
const cacheKey = `${adapterEndpoint.name}-${(0, exports.calculateKey)(data, paramNames, adapterConfig)}`;
|
|
44
|
+
logger.trace(`Generated cache key for request: "${cacheKey}"`);
|
|
45
|
+
return cacheKey;
|
|
44
46
|
};
|
|
45
47
|
exports.calculateCacheKey = calculateCacheKey;
|
|
46
48
|
const calculateFeedId = ({ adapterEndpoint, adapterConfig, }, data) => {
|
|
@@ -99,7 +101,6 @@ const calculateKey = (data, paramNames, adapterConfig) => {
|
|
|
99
101
|
logger.warn(`Generated cache key for adapter request is bigger than the MAX_COMMON_KEY_SIZE and will be truncated`);
|
|
100
102
|
cacheKey = cacheKey.slice(0, adapterConfig.MAX_COMMON_KEY_SIZE);
|
|
101
103
|
}
|
|
102
|
-
logger.trace(`Generated cache key for request: "${cacheKey}"`);
|
|
103
104
|
return cacheKey;
|
|
104
105
|
};
|
|
105
106
|
exports.calculateKey = calculateKey;
|
|
@@ -171,3 +172,4 @@ const buildCacheMiddleware = (adapter) => async (req, res) => {
|
|
|
171
172
|
logger.debug('Did not find response in cache, moving to next middleware');
|
|
172
173
|
};
|
|
173
174
|
exports.buildCacheMiddleware = buildCacheMiddleware;
|
|
175
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"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"}
|
package/cache/local.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/cache/local.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAqD;AAErD,wDAAyC;AAEzC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,YAAY,CAAC,CAAA;AAYvC;;;;;GAKG;AACH,MAAa,UAAU;IAAvB;QACE,UAAK,GAAuC,EAAE,CAAA;IAiDhD,CAAC;IA/CC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,wBAAwB,CAAC,CAAA;YAC7E,OAAO,SAAS,CAAA;SACjB;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;QACvD,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAA;YAC9E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChB,OAAO,SAAS,CAAA;SACjB;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;YACjE,OAAO,KAAK,CAAC,KAAK,CAAA;SACnB;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAA;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,wDAAwD;IACjF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,GAAW;QAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,aAAa,GAAG,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;YAChB,KAAK;YACL,mBAAmB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG;SACtC,CAAA;QAED,wGAAwG;QACxG,MAAM,MAAM,GAAI,KAAoC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAA;QAC1E,IAAI,MAAM,EAAE;YACV,0EAA0E;YAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACxF,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAClC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,GAAW;QACjD,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAA;QACvD,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;SAC1B;IACH,CAAC;CACF;AAlDD,gCAkDC"}
|
package/cache/metrics.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/cache/metrics.ts"],"names":[],"mappings":"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"}
|
package/cache/redis.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":"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"}
|
package/config/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare const BaseSettings: {
|
|
|
6
6
|
readonly API_KEY: {
|
|
7
7
|
readonly description: "Default setting for an EA key";
|
|
8
8
|
readonly type: "string";
|
|
9
|
+
readonly sensitive: true;
|
|
9
10
|
};
|
|
10
11
|
readonly API_TIMEOUT: {
|
|
11
12
|
readonly description: "The number of milliseconds a request can be pending before returning a timeout error for data provider request";
|
|
@@ -35,6 +36,7 @@ export declare const BaseSettings: {
|
|
|
35
36
|
readonly CACHE_REDIS_PASSWORD: {
|
|
36
37
|
readonly description: "The password required for redis auth";
|
|
37
38
|
readonly type: "string";
|
|
39
|
+
readonly sensitive: true;
|
|
38
40
|
};
|
|
39
41
|
readonly CACHE_REDIS_PATH: {
|
|
40
42
|
readonly description: "The UNIX socket string of the Redis server";
|
|
@@ -118,12 +120,42 @@ export declare const BaseSettings: {
|
|
|
118
120
|
readonly REQUEST_COALESCING_ENABLED: {
|
|
119
121
|
readonly description: "Enable request coalescing";
|
|
120
122
|
readonly type: "boolean";
|
|
123
|
+
readonly default: false;
|
|
124
|
+
};
|
|
125
|
+
readonly REQUEST_COALESCING_ENTROPY_MAX: {
|
|
126
|
+
readonly description: "Amount of random delay (entropy) in milliseconds that will be added to requests. Avoids issue where the request coalescing key will not be set before multiple other instances in a burst try to access the same key";
|
|
127
|
+
readonly type: "number";
|
|
128
|
+
readonly default: 0;
|
|
129
|
+
};
|
|
130
|
+
readonly SSE_SUBSCRIPTION_UPDATE_SLEEP: {
|
|
131
|
+
readonly description: "Maximum amount of time (in ms) between each update to the set of subscribed feeds";
|
|
132
|
+
readonly type: "number";
|
|
133
|
+
readonly default: 1000;
|
|
134
|
+
};
|
|
135
|
+
readonly SSE_KEEPALIVE_SLEEP: {
|
|
136
|
+
readonly description: "Maximum amount of time (in ms) between each SSE keepalive request";
|
|
137
|
+
readonly type: "number";
|
|
138
|
+
readonly default: 60000;
|
|
139
|
+
};
|
|
140
|
+
readonly SSE_SUBSCRIPTION_TTL: {
|
|
141
|
+
readonly description: "Maximum amount of time (in ms) an SSE subscription will be cached before being unsubscribed";
|
|
142
|
+
readonly type: "number";
|
|
143
|
+
readonly default: 10000;
|
|
121
144
|
};
|
|
122
145
|
readonly WARMUP_SUBSCRIPTION_TTL: {
|
|
123
146
|
readonly type: "number";
|
|
124
147
|
readonly description: "TTL for batch warmer subscriptions";
|
|
125
148
|
readonly default: 10000;
|
|
126
149
|
};
|
|
150
|
+
readonly WS_API_ENDPOINT: {
|
|
151
|
+
readonly description: "Override the base websocket URL within the EA.";
|
|
152
|
+
readonly type: "string";
|
|
153
|
+
};
|
|
154
|
+
readonly WS_API_KEY: {
|
|
155
|
+
readonly description: "The websocket API key to authenticate with";
|
|
156
|
+
readonly type: "string";
|
|
157
|
+
readonly sensitive: true;
|
|
158
|
+
};
|
|
127
159
|
readonly WS_SUBSCRIPTION_TTL: {
|
|
128
160
|
readonly description: "";
|
|
129
161
|
readonly type: "number";
|
|
@@ -190,6 +222,7 @@ export declare type Setting = {
|
|
|
190
222
|
default?: string;
|
|
191
223
|
validate?: (value?: string) => ValidationErrorMessage;
|
|
192
224
|
required?: false;
|
|
225
|
+
sensitive?: boolean;
|
|
193
226
|
} | {
|
|
194
227
|
type: 'string';
|
|
195
228
|
description: string;
|
|
@@ -197,6 +230,7 @@ export declare type Setting = {
|
|
|
197
230
|
default?: string;
|
|
198
231
|
validate?: (value: string) => ValidationErrorMessage;
|
|
199
232
|
required: true;
|
|
233
|
+
sensitive?: boolean;
|
|
200
234
|
} | {
|
|
201
235
|
type: 'number';
|
|
202
236
|
description: string;
|
package/config/index.js
CHANGED
|
@@ -15,6 +15,7 @@ exports.BaseSettings = {
|
|
|
15
15
|
API_KEY: {
|
|
16
16
|
description: 'Default setting for an EA key',
|
|
17
17
|
type: 'string',
|
|
18
|
+
sensitive: true,
|
|
18
19
|
},
|
|
19
20
|
API_TIMEOUT: {
|
|
20
21
|
description: 'The number of milliseconds a request can be pending before returning a timeout error for data provider request',
|
|
@@ -65,6 +66,7 @@ exports.BaseSettings = {
|
|
|
65
66
|
CACHE_REDIS_PASSWORD: {
|
|
66
67
|
description: 'The password required for redis auth',
|
|
67
68
|
type: 'string',
|
|
69
|
+
sensitive: true,
|
|
68
70
|
},
|
|
69
71
|
CACHE_REDIS_PATH: {
|
|
70
72
|
description: 'The UNIX socket string of the Redis server',
|
|
@@ -103,6 +105,11 @@ exports.BaseSettings = {
|
|
|
103
105
|
type: 'boolean',
|
|
104
106
|
default: false,
|
|
105
107
|
},
|
|
108
|
+
// DEFAULT_WS_HEARTBEAT_INTERVAL: {
|
|
109
|
+
// description: 'Interval between WS heartbeat pings (ms)',
|
|
110
|
+
// type: 'number',
|
|
111
|
+
// default: 30000,
|
|
112
|
+
// },
|
|
106
113
|
EA_PORT: {
|
|
107
114
|
description: 'Port through which the EA will listen for REST requests (if mode is set to "reader" or "reader-writer")',
|
|
108
115
|
type: 'number',
|
|
@@ -158,10 +165,16 @@ exports.BaseSettings = {
|
|
|
158
165
|
REQUEST_COALESCING_ENABLED: {
|
|
159
166
|
description: 'Enable request coalescing',
|
|
160
167
|
type: 'boolean',
|
|
168
|
+
default: false,
|
|
161
169
|
},
|
|
162
|
-
|
|
170
|
+
REQUEST_COALESCING_ENTROPY_MAX: {
|
|
171
|
+
description: 'Amount of random delay (entropy) in milliseconds that will be added to requests. Avoids issue where the request coalescing key will not be set before multiple other instances in a burst try to access the same key',
|
|
172
|
+
type: 'number',
|
|
173
|
+
default: 0,
|
|
174
|
+
},
|
|
175
|
+
// REQUEST_COALESCING_INTERVAL: {
|
|
163
176
|
// type: 'number',
|
|
164
|
-
// default:
|
|
177
|
+
// default: 100,
|
|
165
178
|
// },
|
|
166
179
|
// REQUEST_COALESCING_INTERVAL_COEFFICIENT: {
|
|
167
180
|
// type: 'number',
|
|
@@ -171,10 +184,6 @@ exports.BaseSettings = {
|
|
|
171
184
|
// type: 'number',
|
|
172
185
|
// default: 1000,
|
|
173
186
|
// },
|
|
174
|
-
// REQUEST_COALESCING_INTERVAL: {
|
|
175
|
-
// type: 'number',
|
|
176
|
-
// default: 100,
|
|
177
|
-
// },
|
|
178
187
|
// REQUEST_COALESCING_MAX_RETRIES: {
|
|
179
188
|
// type: 'number',
|
|
180
189
|
// default: 5,
|
|
@@ -183,25 +192,21 @@ exports.BaseSettings = {
|
|
|
183
192
|
// type: 'boolean',
|
|
184
193
|
// default: 1,
|
|
185
194
|
// },
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
// },
|
|
202
|
-
// WARMUP_INTERVAL: {
|
|
203
|
-
// type: 'number',
|
|
204
|
-
// },
|
|
195
|
+
SSE_SUBSCRIPTION_UPDATE_SLEEP: {
|
|
196
|
+
description: 'Maximum amount of time (in ms) between each update to the set of subscribed feeds',
|
|
197
|
+
type: 'number',
|
|
198
|
+
default: 1000,
|
|
199
|
+
},
|
|
200
|
+
SSE_KEEPALIVE_SLEEP: {
|
|
201
|
+
description: 'Maximum amount of time (in ms) between each SSE keepalive request',
|
|
202
|
+
type: 'number',
|
|
203
|
+
default: 60000,
|
|
204
|
+
},
|
|
205
|
+
SSE_SUBSCRIPTION_TTL: {
|
|
206
|
+
description: 'Maximum amount of time (in ms) an SSE subscription will be cached before being unsubscribed',
|
|
207
|
+
type: 'number',
|
|
208
|
+
default: 10000,
|
|
209
|
+
},
|
|
205
210
|
WARMUP_SUBSCRIPTION_TTL: {
|
|
206
211
|
type: 'number',
|
|
207
212
|
description: 'TTL for batch warmer subscriptions',
|
|
@@ -211,43 +216,15 @@ exports.BaseSettings = {
|
|
|
211
216
|
// type: 'number',
|
|
212
217
|
// default: 3,
|
|
213
218
|
// },
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
// },
|
|
224
|
-
// WS_CONNECTION_LIMIT: {
|
|
225
|
-
// type: 'number',
|
|
226
|
-
// default: 1,
|
|
227
|
-
// },
|
|
228
|
-
// WS_CONNECTION_RETRY_DELAY: {
|
|
229
|
-
// type: 'number',
|
|
230
|
-
// default: 1000,
|
|
231
|
-
// },
|
|
232
|
-
// WS_CONNECTION_RETRY_LIMIT: {
|
|
233
|
-
// type: 'number',
|
|
234
|
-
// default: 3,
|
|
235
|
-
// },
|
|
236
|
-
// WS_CONNECTION_TTL: {
|
|
237
|
-
// type: 'number',
|
|
238
|
-
// default: 70000,
|
|
239
|
-
// },
|
|
240
|
-
// WS_ENABLED: {
|
|
241
|
-
// type: 'boolean',
|
|
242
|
-
// default: false,
|
|
243
|
-
// },
|
|
244
|
-
// WS_SUBSCRIPTION_LIMIT: {
|
|
245
|
-
// type: 'number',
|
|
246
|
-
// default: 10,
|
|
247
|
-
// },
|
|
248
|
-
// WS_SUBSCRIPTION_PRIORITY_LIST: {
|
|
249
|
-
// type: 'string',
|
|
250
|
-
// },
|
|
219
|
+
WS_API_ENDPOINT: {
|
|
220
|
+
description: 'Override the base websocket URL within the EA.',
|
|
221
|
+
type: 'string',
|
|
222
|
+
},
|
|
223
|
+
WS_API_KEY: {
|
|
224
|
+
description: 'The websocket API key to authenticate with',
|
|
225
|
+
type: 'string',
|
|
226
|
+
sensitive: true,
|
|
227
|
+
},
|
|
251
228
|
WS_SUBSCRIPTION_TTL: {
|
|
252
229
|
description: '',
|
|
253
230
|
type: 'number',
|
|
@@ -258,6 +235,7 @@ exports.BaseSettings = {
|
|
|
258
235
|
// default: false,
|
|
259
236
|
// },
|
|
260
237
|
// WS_TIME_UNTIL_HANDLE_NEXT_MESSAGE_OVERRIDE: {
|
|
238
|
+
// description: 'Time to wait until adapter should handle next WS message',
|
|
261
239
|
// type: 'number',
|
|
262
240
|
// },
|
|
263
241
|
// V3
|
|
@@ -364,3 +342,4 @@ const getEnv = (name, config) => {
|
|
|
364
342
|
return value;
|
|
365
343
|
}
|
|
366
344
|
};
|
|
345
|
+
//# sourceMappingURL=index.js.map
|