@chainlink/external-adapter-framework 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adapter/basic.d.ts +9 -19
- package/adapter/basic.js +42 -63
- package/adapter/basic.js.map +1 -1
- package/adapter/endpoint.d.ts +7 -7
- package/adapter/endpoint.js +17 -25
- package/adapter/endpoint.js.map +1 -1
- package/adapter/price.d.ts +3 -3
- package/adapter/price.js +1 -1
- package/adapter/price.js.map +1 -1
- package/adapter/types.d.ts +12 -14
- package/background-executor.js +5 -5
- package/background-executor.js.map +1 -1
- package/cache/index.d.ts +4 -5
- package/cache/index.js +8 -8
- package/cache/index.js.map +1 -1
- package/cache/response.d.ts +4 -4
- package/cache/response.js +7 -6
- package/cache/response.js.map +1 -1
- package/config/index.d.ts +51 -16
- package/config/index.js +76 -26
- package/config/index.js.map +1 -1
- package/index.d.ts +4 -4
- package/index.js +25 -21
- package/index.js.map +1 -1
- package/metrics/index.d.ts +8 -8
- package/metrics/index.js +13 -11
- package/metrics/index.js.map +1 -1
- package/metrics/util.d.ts +1 -2
- package/metrics/util.js.map +1 -1
- package/package.json +1 -1
- package/rate-limiting/index.d.ts +4 -4
- package/rate-limiting/index.js +13 -13
- package/rate-limiting/index.js.map +1 -1
- package/transports/abstract/subscription.d.ts +5 -6
- package/transports/abstract/subscription.js +4 -4
- package/transports/abstract/subscription.js.map +1 -1
- package/transports/http.d.ts +8 -9
- package/transports/http.js +14 -14
- package/transports/http.js.map +1 -1
- package/transports/index.d.ts +15 -8
- package/transports/index.js +28 -0
- package/transports/index.js.map +1 -1
- package/transports/metrics.d.ts +1 -2
- package/transports/metrics.js.map +1 -1
- package/transports/sse.d.ts +3 -4
- package/transports/sse.js +8 -8
- package/transports/sse.js.map +1 -1
- package/transports/websocket.d.ts +1 -2
- package/transports/websocket.js +7 -7
- package/transports/websocket.js.map +1 -1
- package/util/logger.js +1 -1
- package/util/logger.js.map +1 -1
- package/util/requester.d.ts +2 -2
- package/util/requester.js +4 -4
- package/util/requester.js.map +1 -1
- package/util/subscription-set/subscription-set.d.ts +2 -2
- package/util/subscription-set/subscription-set.js +3 -3
- package/util/subscription-set/subscription-set.js.map +1 -1
- package/validation/index.js +11 -10
- package/validation/index.js.map +1 -1
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FastifyInstance } from 'fastify';
|
|
2
2
|
import { Adapter, AdapterDependencies } from './adapter';
|
|
3
|
-
import {
|
|
3
|
+
import { AdapterSettings, AdapterConfig } from './config';
|
|
4
4
|
export { FastifyInstance as ServerInstance };
|
|
5
5
|
export interface httpsOptions {
|
|
6
6
|
https: {
|
|
@@ -11,7 +11,7 @@ export interface httpsOptions {
|
|
|
11
11
|
requestCert: boolean;
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
export declare const getMTLSOptions: (
|
|
14
|
+
export declare const getMTLSOptions: (adapterSettings: AdapterSettings) => {
|
|
15
15
|
https: {
|
|
16
16
|
key: string | undefined;
|
|
17
17
|
cert: string | undefined;
|
|
@@ -30,8 +30,8 @@ export declare const getMTLSOptions: (config: AdapterConfig) => {
|
|
|
30
30
|
* @param dependencies - an optional object with adapter dependencies to inject
|
|
31
31
|
* @returns a Promise that resolves to the http.Server listening for connections
|
|
32
32
|
*/
|
|
33
|
-
export declare const start: <T extends
|
|
33
|
+
export declare const start: <T extends AdapterConfig<import("./config").SettingsDefinitionMap> = AdapterConfig<import("./config").SettingsDefinitionMap>>(adapter: Adapter<T>, dependencies?: Partial<AdapterDependencies>) => Promise<{
|
|
34
34
|
api: FastifyInstance | undefined;
|
|
35
35
|
metricsApi: FastifyInstance | undefined;
|
|
36
36
|
}>;
|
|
37
|
-
export declare const expose: <T extends
|
|
37
|
+
export declare const expose: <T extends AdapterConfig<import("./config").SettingsDefinitionMap> = AdapterConfig<import("./config").SettingsDefinitionMap>>(adapter: Adapter<T>, dependencies?: Partial<AdapterDependencies>) => Promise<FastifyInstance | undefined>;
|
package/index.js
CHANGED
|
@@ -13,18 +13,18 @@ const util_1 = require("./util");
|
|
|
13
13
|
const validation_1 = require("./validation");
|
|
14
14
|
const logger = (0, util_1.makeLogger)('Main');
|
|
15
15
|
const VERSION = process.env['npm_package_version'];
|
|
16
|
-
const getMTLSOptions = (
|
|
17
|
-
if (
|
|
18
|
-
(!
|
|
16
|
+
const getMTLSOptions = (adapterSettings) => {
|
|
17
|
+
if (adapterSettings.MTLS_ENABLED &&
|
|
18
|
+
(!adapterSettings.TLS_PRIVATE_KEY || !adapterSettings.TLS_PUBLIC_KEY || !adapterSettings.TLS_CA)) {
|
|
19
19
|
throw new Error(`TLS_PRIVATE_KEY , TLS_PUBLIC_KEY and TLS_CA environment variables are required when MTLS_ENABLED is set to true.`);
|
|
20
20
|
}
|
|
21
|
-
else if (
|
|
21
|
+
else if (adapterSettings.MTLS_ENABLED) {
|
|
22
22
|
return {
|
|
23
23
|
https: {
|
|
24
|
-
key:
|
|
25
|
-
cert:
|
|
26
|
-
ca:
|
|
27
|
-
passphrase:
|
|
24
|
+
key: adapterSettings.TLS_PRIVATE_KEY,
|
|
25
|
+
cert: adapterSettings.TLS_PUBLIC_KEY,
|
|
26
|
+
ca: adapterSettings.TLS_CA,
|
|
27
|
+
passphrase: adapterSettings.TLS_PASSPHRASE,
|
|
28
28
|
requestCert: true,
|
|
29
29
|
},
|
|
30
30
|
};
|
|
@@ -48,12 +48,14 @@ const start = async (adapter, dependencies) => {
|
|
|
48
48
|
await adapter.initialize(dependencies);
|
|
49
49
|
let api = undefined;
|
|
50
50
|
let metricsApi = undefined;
|
|
51
|
-
if (adapter.config.METRICS_ENABLED &&
|
|
52
|
-
|
|
51
|
+
if (adapter.config.settings.METRICS_ENABLED &&
|
|
52
|
+
adapter.config.settings.EXPERIMENTAL_METRICS_ENABLED) {
|
|
53
|
+
metricsApi = (0, metrics_1.setupMetricsServer)(adapter.name, adapter.config.settings);
|
|
53
54
|
}
|
|
54
55
|
// Optional Promise to indicate that the API is shutting down (for us to close background executors)
|
|
55
56
|
let apiShutdownPromise;
|
|
56
|
-
if (adapter.config.EA_MODE === 'reader' ||
|
|
57
|
+
if (adapter.config.settings.EA_MODE === 'reader' ||
|
|
58
|
+
adapter.config.settings.EA_MODE === 'reader-writer') {
|
|
57
59
|
// Main REST API server to handle incoming requests
|
|
58
60
|
api = await buildRestApi(adapter);
|
|
59
61
|
// Add a hook on close to use on the background execution loop to stop it
|
|
@@ -64,7 +66,8 @@ const start = async (adapter, dependencies) => {
|
|
|
64
66
|
else {
|
|
65
67
|
logger.info('REST API is disabled; this instance will not process incoming requests.');
|
|
66
68
|
}
|
|
67
|
-
if (adapter.config.EA_MODE === 'writer' ||
|
|
69
|
+
if (adapter.config.settings.EA_MODE === 'writer' ||
|
|
70
|
+
adapter.config.settings.EA_MODE === 'reader-writer') {
|
|
68
71
|
// Start background loop that will take care of calling any async Transports
|
|
69
72
|
logger.info('Starting background execution loop');
|
|
70
73
|
(0, background_executor_1.callBackgroundExecutes)(adapter, apiShutdownPromise);
|
|
@@ -80,7 +83,7 @@ const expose = async (adapter, dependencies) => {
|
|
|
80
83
|
const exposeApp = async (app, port) => {
|
|
81
84
|
if (app) {
|
|
82
85
|
try {
|
|
83
|
-
await app.listen({ port, host: adapter.config.EA_HOST });
|
|
86
|
+
await app.listen({ port, host: adapter.config.settings.EA_HOST });
|
|
84
87
|
}
|
|
85
88
|
catch (err) {
|
|
86
89
|
logger.fatal(`There was an error when starting the server: ${err}`);
|
|
@@ -90,20 +93,20 @@ const expose = async (adapter, dependencies) => {
|
|
|
90
93
|
}
|
|
91
94
|
};
|
|
92
95
|
// Start listening for incoming requests
|
|
93
|
-
await exposeApp(api, adapter.config.EA_PORT);
|
|
94
|
-
await exposeApp(metricsApi, adapter.config.METRICS_PORT);
|
|
96
|
+
await exposeApp(api, adapter.config.settings.EA_PORT);
|
|
97
|
+
await exposeApp(metricsApi, adapter.config.settings.METRICS_PORT);
|
|
95
98
|
// We return only the main API to maintain backwards compatibility
|
|
96
99
|
return api;
|
|
97
100
|
};
|
|
98
101
|
exports.expose = expose;
|
|
99
102
|
async function buildRestApi(adapter) {
|
|
100
|
-
const mTLSOptions = (0, exports.getMTLSOptions)(adapter.config);
|
|
103
|
+
const mTLSOptions = (0, exports.getMTLSOptions)(adapter.config.settings);
|
|
101
104
|
const app = (0, fastify_1.default)({
|
|
102
105
|
...mTLSOptions,
|
|
103
|
-
bodyLimit: adapter.config.MAX_PAYLOAD_SIZE_LIMIT,
|
|
106
|
+
bodyLimit: adapter.config.settings.MAX_PAYLOAD_SIZE_LIMIT,
|
|
104
107
|
});
|
|
105
108
|
// Add healthcheck endpoint before middlewares to bypass them
|
|
106
|
-
app.get((0, path_1.join)(adapter.config.BASE_URL, 'health'), (req, res) => {
|
|
109
|
+
app.get((0, path_1.join)(adapter.config.settings.BASE_URL, 'health'), (req, res) => {
|
|
107
110
|
res.status(200).send({ message: 'OK', version: VERSION });
|
|
108
111
|
});
|
|
109
112
|
// Use global error handling
|
|
@@ -116,18 +119,19 @@ async function buildRestApi(adapter) {
|
|
|
116
119
|
app.register(async (router) => {
|
|
117
120
|
// Set up "middlewares" (hooks in fastify)
|
|
118
121
|
router.addHook('preHandler', (0, validation_1.validatorMiddleware)(adapter));
|
|
119
|
-
if (adapter.config
|
|
122
|
+
if (adapter.config.settings.CORRELATION_ID_ENABLED) {
|
|
120
123
|
router.addHook('onRequest', util_1.loggingContextMiddleware);
|
|
121
124
|
}
|
|
122
125
|
router.route({
|
|
123
|
-
url: adapter.config.BASE_URL,
|
|
126
|
+
url: adapter.config.settings.BASE_URL,
|
|
124
127
|
method: 'POST',
|
|
125
128
|
handler: async (req, reply) => {
|
|
126
129
|
const response = await adapter.handleRequest(req, reply);
|
|
127
130
|
return reply.code(response.statusCode || 200).send(response);
|
|
128
131
|
},
|
|
129
132
|
});
|
|
130
|
-
if (adapter.config.METRICS_ENABLED &&
|
|
133
|
+
if (adapter.config.settings.METRICS_ENABLED &&
|
|
134
|
+
adapter.config.settings.EXPERIMENTAL_METRICS_ENABLED) {
|
|
131
135
|
router.addHook('onResponse', metrics_1.buildMetricsMiddleware);
|
|
132
136
|
}
|
|
133
137
|
});
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAkD;AAElD,+BAA2B;AAC3B,uCAAwD;AACxD,+DAA8D;AAE9D,uCAAsE;AACtE,iCAAkF;AAClF,6CAA2E;AAI3E,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAA;AAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAY3C,MAAM,cAAc,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/metrics/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as client from 'prom-client';
|
|
3
3
|
import { AdapterRequest } from '../util';
|
|
4
|
-
import {
|
|
4
|
+
import { AdapterSettings } from '../config';
|
|
5
5
|
import { FastifyReply, HookHandlerDoneFunction } from 'fastify';
|
|
6
6
|
import { AdapterError } from '../validation/error';
|
|
7
|
-
export declare function setupMetricsServer(name: string,
|
|
7
|
+
export declare function setupMetricsServer(name: string, adapterSettings: AdapterSettings): import("fastify").FastifyInstance<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault> & PromiseLike<import("fastify").FastifyInstance<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>>;
|
|
8
8
|
export declare const setupMetrics: (name: string) => void;
|
|
9
9
|
/**
|
|
10
10
|
* Builds metrics middleware that records end to end EA response times
|
|
@@ -33,10 +33,10 @@ export declare const metrics: Metrics<{
|
|
|
33
33
|
dataProviderRequestDurationSeconds: client.Histogram<string>;
|
|
34
34
|
requesterQueueSize: client.Gauge<string>;
|
|
35
35
|
requesterQueueOverflow: client.Counter<string>;
|
|
36
|
-
bgExecuteSubscriptionSetCount: client.Gauge<"
|
|
37
|
-
bgExecuteTotal: client.Counter<"transport" | "
|
|
38
|
-
bgExecuteErrors: client.Counter<"transport" | "
|
|
39
|
-
bgExecuteDurationSeconds: client.Gauge<"transport" | "
|
|
36
|
+
bgExecuteSubscriptionSetCount: client.Gauge<"adapter_endpoint" | "transport_type">;
|
|
37
|
+
bgExecuteTotal: client.Counter<"transport" | "adapter_endpoint">;
|
|
38
|
+
bgExecuteErrors: client.Counter<"transport" | "adapter_endpoint">;
|
|
39
|
+
bgExecuteDurationSeconds: client.Gauge<"transport" | "adapter_endpoint">;
|
|
40
40
|
cacheDataGetCount: client.Counter<"feed_id" | "participant_id" | "cache_type" | "is_from_ws" | "experimental">;
|
|
41
41
|
cacheDataGetValues: client.Gauge<"feed_id" | "participant_id" | "cache_type" | "is_from_ws" | "experimental">;
|
|
42
42
|
cacheDataMaxAge: client.Gauge<"feed_id" | "participant_id" | "cache_type" | "is_from_ws" | "experimental">;
|
|
@@ -53,7 +53,7 @@ export declare const metrics: Metrics<{
|
|
|
53
53
|
wsSubscriptionActive: client.Gauge<"feed_id" | "connection_url" | "subscription_key">;
|
|
54
54
|
wsSubscriptionTotal: client.Counter<"feed_id" | "connection_url" | "subscription_key">;
|
|
55
55
|
wsMessageTotal: client.Counter<"direction" | "feed_id" | "subscription_key">;
|
|
56
|
-
transportPollingFailureCount: client.Counter<"
|
|
57
|
-
transportPollingDurationSeconds: client.Gauge<"succeeded" | "
|
|
56
|
+
transportPollingFailureCount: client.Counter<"adapter_endpoint">;
|
|
57
|
+
transportPollingDurationSeconds: client.Gauge<"succeeded" | "adapter_endpoint">;
|
|
58
58
|
rateLimitCreditsSpentTotal: client.Counter<"feed_id" | "participant_id">;
|
|
59
59
|
}>;
|
package/metrics/index.js
CHANGED
|
@@ -35,15 +35,17 @@ const path_1 = require("path");
|
|
|
35
35
|
const error_1 = require("../validation/error");
|
|
36
36
|
const index_1 = require("../index");
|
|
37
37
|
const logger = (0, util_1.makeLogger)('Metrics');
|
|
38
|
-
function setupMetricsServer(name,
|
|
39
|
-
const mTLSOptions = (0, index_1.getMTLSOptions)(
|
|
38
|
+
function setupMetricsServer(name, adapterSettings) {
|
|
39
|
+
const mTLSOptions = (0, index_1.getMTLSOptions)(adapterSettings);
|
|
40
40
|
const metricsApp = (0, fastify_1.default)({
|
|
41
41
|
...mTLSOptions,
|
|
42
42
|
logger: false,
|
|
43
43
|
});
|
|
44
|
-
const metricsPort =
|
|
45
|
-
const endpoint =
|
|
46
|
-
|
|
44
|
+
const metricsPort = adapterSettings.METRICS_PORT;
|
|
45
|
+
const endpoint = adapterSettings.METRICS_USE_BASE_URL
|
|
46
|
+
? (0, path_1.join)(adapterSettings.BASE_URL, 'metrics')
|
|
47
|
+
: '/metrics';
|
|
48
|
+
const eaHost = adapterSettings.EA_HOST;
|
|
47
49
|
logger.info(`Metrics endpoint: http://${eaHost}:${metricsPort}${endpoint}`);
|
|
48
50
|
(0, exports.setupMetrics)(name);
|
|
49
51
|
metricsApp.get(endpoint, async (_, res) => {
|
|
@@ -194,22 +196,22 @@ exports.metrics = new Metrics(() => ({
|
|
|
194
196
|
bgExecuteSubscriptionSetCount: new client.Gauge({
|
|
195
197
|
name: 'bg_execute_subscription_set_count',
|
|
196
198
|
help: 'The number of active subscriptions in background execute',
|
|
197
|
-
labelNames: ['
|
|
199
|
+
labelNames: ['adapter_endpoint', 'transport_type'],
|
|
198
200
|
}),
|
|
199
201
|
bgExecuteTotal: new client.Counter({
|
|
200
202
|
name: 'bg_execute_total',
|
|
201
203
|
help: 'The number of background executes performed per endpoint',
|
|
202
|
-
labelNames: ['
|
|
204
|
+
labelNames: ['adapter_endpoint', 'transport'],
|
|
203
205
|
}),
|
|
204
206
|
bgExecuteErrors: new client.Counter({
|
|
205
207
|
name: 'bg_execute_errors',
|
|
206
208
|
help: 'The number of background execute errors per endpoint x transport',
|
|
207
|
-
labelNames: ['
|
|
209
|
+
labelNames: ['adapter_endpoint', 'transport'],
|
|
208
210
|
}),
|
|
209
211
|
bgExecuteDurationSeconds: new client.Gauge({
|
|
210
212
|
name: 'bg_execute_duration_seconds',
|
|
211
213
|
help: 'A histogram bucket of the distribution of background execute durations',
|
|
212
|
-
labelNames: ['
|
|
214
|
+
labelNames: ['adapter_endpoint', 'transport'],
|
|
213
215
|
}),
|
|
214
216
|
cacheDataGetCount: new client.Counter({
|
|
215
217
|
name: 'cache_data_get_count',
|
|
@@ -292,12 +294,12 @@ exports.metrics = new Metrics(() => ({
|
|
|
292
294
|
transportPollingFailureCount: new client.Counter({
|
|
293
295
|
name: 'transport_polling_failure_count',
|
|
294
296
|
help: 'The number of times the polling mechanism ran out of attempts and failed to return a response',
|
|
295
|
-
labelNames: ['
|
|
297
|
+
labelNames: ['adapter_endpoint'],
|
|
296
298
|
}),
|
|
297
299
|
transportPollingDurationSeconds: new client.Gauge({
|
|
298
300
|
name: 'transport_polling_duration_seconds',
|
|
299
301
|
help: 'A histogram bucket of the distribution of transport polling idle time durations',
|
|
300
|
-
labelNames: ['
|
|
302
|
+
labelNames: ['adapter_endpoint', 'succeeded'],
|
|
301
303
|
}),
|
|
302
304
|
rateLimitCreditsSpentTotal: new client.Counter({
|
|
303
305
|
name: 'rate_limit_credits_spent_total',
|
package/metrics/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AACrC,2CAAqE;AACrE,kCAAoD;AAEpD,sDAAwE;AACxE,+BAA2B;AAC3B,+CAAkD;AAClD,oCAAuD;AAEvD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,SAAS,CAAC,CAAA;AAEpC,SAAgB,kBAAkB,CAAC,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/index.ts"],"names":[],"mappings":"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"}
|
package/metrics/util.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { AdapterConfig } from '../config';
|
|
2
1
|
import { AdapterMetricsMeta, AdapterRequestData } from '../util';
|
|
3
2
|
import { InputParameters } from '../validation';
|
|
4
3
|
export declare const getMetricsMeta: <T extends import("../transports").TransportGenerics>(args: {
|
|
5
4
|
inputParameters: InputParameters;
|
|
6
|
-
|
|
5
|
+
adapterSettings: T["Settings"];
|
|
7
6
|
}, data: AdapterRequestData) => AdapterMetricsMeta;
|
package/metrics/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/metrics/util.ts"],"names":[],"mappings":";;;AACA,oCAA0C;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/metrics/util.ts"],"names":[],"mappings":";;;AACA,oCAA0C;AAInC,MAAM,cAAc,GAAG,CAC5B,IAGC,EACD,IAAwB,EACJ,EAAE;IACtB,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAA;AACnB,CAAC,CAAA;AATY,QAAA,cAAc,kBAS1B"}
|
package/package.json
CHANGED
package/rate-limiting/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AdapterEndpoint, EndpointGenerics } from '../adapter';
|
|
2
|
-
import {
|
|
2
|
+
import { AdapterSettings } from '../config';
|
|
3
3
|
export * from './simple-counting';
|
|
4
4
|
export interface AdapterRateLimitTier {
|
|
5
5
|
rateLimit1s?: number;
|
|
@@ -51,10 +51,10 @@ export declare const lowestTierLimit: (limits?: AdapterRateLimitTier) => number;
|
|
|
51
51
|
/**
|
|
52
52
|
* Validates rate limiting tiers specified for the adapter, and returns the one to use.
|
|
53
53
|
*
|
|
54
|
-
* @param
|
|
54
|
+
* @param adapterSettings - the adapter config containing the env vars
|
|
55
55
|
* @param tiers - the adapter config listing the different available API tiers
|
|
56
56
|
* @returns the specified API tier, or a default one if none are specified
|
|
57
57
|
*/
|
|
58
|
-
export declare const getRateLimitingTier: (
|
|
59
|
-
export declare const buildRateLimitTiersFromConfig: (
|
|
58
|
+
export declare const getRateLimitingTier: (adapterSettings: AdapterSettings, tiers?: Record<string, AdapterRateLimitTier>) => AdapterRateLimitTier | undefined;
|
|
59
|
+
export declare const buildRateLimitTiersFromConfig: (adapterSettings: AdapterSettings) => AdapterRateLimitTier | undefined;
|
|
60
60
|
export declare const highestRateLimitTiers: (tiers?: Record<string, AdapterRateLimitTier>) => number;
|
package/rate-limiting/index.js
CHANGED
|
@@ -63,15 +63,15 @@ exports.lowestTierLimit = lowestTierLimit;
|
|
|
63
63
|
/**
|
|
64
64
|
* Validates rate limiting tiers specified for the adapter, and returns the one to use.
|
|
65
65
|
*
|
|
66
|
-
* @param
|
|
66
|
+
* @param adapterSettings - the adapter config containing the env vars
|
|
67
67
|
* @param tiers - the adapter config listing the different available API tiers
|
|
68
68
|
* @returns the specified API tier, or a default one if none are specified
|
|
69
69
|
*/
|
|
70
|
-
const getRateLimitingTier = (
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return (0, exports.buildRateLimitTiersFromConfig)(
|
|
70
|
+
const getRateLimitingTier = (adapterSettings, tiers) => {
|
|
71
|
+
if (adapterSettings.RATE_LIMIT_CAPACITY ||
|
|
72
|
+
adapterSettings.RATE_LIMIT_CAPACITY_MINUTE ||
|
|
73
|
+
adapterSettings.RATE_LIMIT_CAPACITY_SECOND) {
|
|
74
|
+
return (0, exports.buildRateLimitTiersFromConfig)(adapterSettings);
|
|
75
75
|
}
|
|
76
76
|
if (!tiers) {
|
|
77
77
|
return;
|
|
@@ -81,7 +81,7 @@ const getRateLimitingTier = (config, tiers) => {
|
|
|
81
81
|
throw new Error(`The tiers object is defined, but has no entries`);
|
|
82
82
|
}
|
|
83
83
|
// Check that the tier set in the AdapterConfig is a valid one
|
|
84
|
-
const selectedTier =
|
|
84
|
+
const selectedTier = adapterSettings.RATE_LIMIT_API_TIER;
|
|
85
85
|
if (selectedTier && !tiers[selectedTier]) {
|
|
86
86
|
const validTiersString = Object.keys(tiers)
|
|
87
87
|
.map((t) => `"${t}"`)
|
|
@@ -100,14 +100,14 @@ const getRateLimitingTier = (config, tiers) => {
|
|
|
100
100
|
};
|
|
101
101
|
exports.getRateLimitingTier = getRateLimitingTier;
|
|
102
102
|
// Creates adapter rate limit tier using the configs specified in env vars
|
|
103
|
-
const buildRateLimitTiersFromConfig = (
|
|
104
|
-
const rateLimit1s =
|
|
103
|
+
const buildRateLimitTiersFromConfig = (adapterSettings) => {
|
|
104
|
+
const rateLimit1s = adapterSettings.RATE_LIMIT_CAPACITY_SECOND;
|
|
105
105
|
let rateLimit1m;
|
|
106
|
-
if (
|
|
107
|
-
rateLimit1m =
|
|
106
|
+
if (adapterSettings.RATE_LIMIT_CAPACITY_MINUTE) {
|
|
107
|
+
rateLimit1m = adapterSettings.RATE_LIMIT_CAPACITY_MINUTE;
|
|
108
108
|
}
|
|
109
|
-
else if (
|
|
110
|
-
rateLimit1m =
|
|
109
|
+
else if (adapterSettings.RATE_LIMIT_CAPACITY) {
|
|
110
|
+
rateLimit1m = adapterSettings.RATE_LIMIT_CAPACITY;
|
|
111
111
|
}
|
|
112
112
|
return {
|
|
113
113
|
rateLimit1s,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rate-limiting/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,kCAAoC;AAEpC,oDAAiC;AAEjC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,mBAAmB,CAAC,CAAA;AA+B9C;;;;;;GAMG;AACI,MAAM,qBAAqB,GAAG,CAAC,MAA6B,EAAE,EAAE;IACrE,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAA;IAC7D,MAAM,cAAc,GAAG,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAA;IACtD,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC,CAAA;AACvD,CAAC,CAAA;AALY,QAAA,qBAAqB,yBAKjC;AAED;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,CAAC,MAA6B,EAAE,EAAE;IAChE,MAAM,iBAAiB,GAAG,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnE,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,OAAO,CAAC,CAAA;SACT;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAA;AACvC,CAAC,CAAA;AARY,QAAA,gBAAgB,oBAQ5B;AAED;;;;;;GAMG;AACI,MAAM,eAAe,GAAG,CAAC,MAA6B,EAAE,EAAE;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAED;;;;;;GAMG;AACI,MAAM,mBAAmB,GAAG,CACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rate-limiting/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import { Transport, TransportDependencies, TransportGenerics } from '..';
|
|
1
2
|
import { EndpointContext } from '../../adapter';
|
|
2
3
|
import { ResponseCache } from '../../cache/response';
|
|
3
|
-
import { AdapterConfig } from '../../config';
|
|
4
4
|
import { SubscriptionSet } from '../../util';
|
|
5
5
|
import { AdapterRequest } from '../../util/types';
|
|
6
|
-
import { Transport, TransportDependencies, TransportGenerics } from '..';
|
|
7
6
|
/**
|
|
8
7
|
* Abstract Transport that will take incoming requests and add them to a subscription set as part
|
|
9
8
|
* of the registration. Then it will provide those entries to the (abstract) backgroundHandler method.
|
|
@@ -18,8 +17,8 @@ export declare abstract class SubscriptionTransport<T extends TransportGenerics>
|
|
|
18
17
|
subscriptionSet: SubscriptionSet<T['Request']['Params']>;
|
|
19
18
|
subscriptionTtl: number;
|
|
20
19
|
name: string;
|
|
21
|
-
initialize(dependencies: TransportDependencies<T>,
|
|
22
|
-
registerRequest(req: AdapterRequest<T['Request']>, _:
|
|
20
|
+
initialize(dependencies: TransportDependencies<T>, adapterSettings: T['Settings'], endpointName: string, name: string): Promise<void>;
|
|
21
|
+
registerRequest(req: AdapterRequest<T['Request']>, _: T['Settings']): Promise<void>;
|
|
23
22
|
backgroundExecute(context: EndpointContext<T>): Promise<void>;
|
|
24
23
|
/**
|
|
25
24
|
* Handler specific to the subscription transport, that is provided all entries in the subscription set.
|
|
@@ -31,7 +30,7 @@ export declare abstract class SubscriptionTransport<T extends TransportGenerics>
|
|
|
31
30
|
/**
|
|
32
31
|
* Helper method to be defined in subclasses, for each of them to carry their own TTL definition in the EA config.
|
|
33
32
|
*
|
|
34
|
-
* @param
|
|
33
|
+
* @param adapterSettings - the config for this adapter
|
|
35
34
|
*/
|
|
36
|
-
abstract getSubscriptionTtlFromConfig(
|
|
35
|
+
abstract getSubscriptionTtlFromConfig(adapterSettings: T['Settings']): number;
|
|
37
36
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SubscriptionTransport = void 0;
|
|
4
|
-
const util_1 = require("../../util");
|
|
5
4
|
const metrics_1 = require("../../metrics");
|
|
5
|
+
const util_1 = require("../../util");
|
|
6
6
|
const logger = (0, util_1.makeLogger)('SubscriptionTransport');
|
|
7
7
|
/**
|
|
8
8
|
* Abstract Transport that will take incoming requests and add them to a subscription set as part
|
|
@@ -11,10 +11,10 @@ const logger = (0, util_1.makeLogger)('SubscriptionTransport');
|
|
|
11
11
|
* @typeParam T - all types related to the [[Transport]]
|
|
12
12
|
*/
|
|
13
13
|
class SubscriptionTransport {
|
|
14
|
-
async initialize(dependencies,
|
|
14
|
+
async initialize(dependencies, adapterSettings, endpointName, name) {
|
|
15
15
|
this.responseCache = dependencies.responseCache;
|
|
16
16
|
this.subscriptionSet = dependencies.subscriptionSetFactory.buildSet(endpointName);
|
|
17
|
-
this.subscriptionTtl = this.getSubscriptionTtlFromConfig(
|
|
17
|
+
this.subscriptionTtl = this.getSubscriptionTtlFromConfig(adapterSettings); // Will be implemented by subclasses
|
|
18
18
|
this.name = name;
|
|
19
19
|
}
|
|
20
20
|
async registerRequest(req, _) {
|
|
@@ -30,7 +30,7 @@ class SubscriptionTransport {
|
|
|
30
30
|
// this.constructor.name will resolve to the instance name, not the class one (i.e., will use the implementing class' name)
|
|
31
31
|
metrics_1.metrics
|
|
32
32
|
.get('bgExecuteSubscriptionSetCount')
|
|
33
|
-
.labels({
|
|
33
|
+
.labels({ adapter_endpoint: context.endpointName, transport_type: this.constructor.name })
|
|
34
34
|
.set(entries.length);
|
|
35
35
|
await this.backgroundHandler(context, entries);
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../../src/transports/abstract/subscription.ts"],"names":[],"mappings":";;;AAGA,qCAAwD;AAGxD,
|
|
1
|
+
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../../src/transports/abstract/subscription.ts"],"names":[],"mappings":";;;AAGA,2CAAuC;AACvC,qCAAwD;AAGxD,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,uBAAuB,CAAC,CAAA;AAElD;;;;;GAKG;AACH,MAAsB,qBAAqB;IASzC,KAAK,CAAC,UAAU,CACd,YAAsC,EACtC,eAA8B,EAC9B,YAAoB,EACpB,IAAY;QAEZ,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAA;QAC/C,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACjF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAA,CAAC,oCAAoC;QAC9G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAiC,EAAE,CAAgB;QACvE,MAAM,CAAC,KAAK,CACV,yCAAyC,IAAI,CAAC,eAAe,OAAO,GAAG,CAAC,cAAc,CAAC,QAAQ,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAChI,CAAA;QAED,+DAA+D;QAC/D,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAC5B,GAAG,CAAC,cAAc,CAAC,IAAI,EACvB,IAAI,CAAC,eAAe,EACpB,GAAG,CAAC,cAAc,CAAC,QAAQ,CAC5B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA2B;QACjD,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAA;QAEnD,4DAA4D;QAC5D,gFAAgF;QAChF,2HAA2H;QAC3H,iBAAO;aACJ,GAAG,CAAC,+BAA+B,CAAC;aACpC,MAAM,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aACzF,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAEtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;CAmBF;AAlED,sDAkEC"}
|
package/transports/http.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
+
import { TransportDependencies, TransportGenerics } from '.';
|
|
2
3
|
import { EndpointContext } from '../adapter';
|
|
3
|
-
import { AdapterConfig } from '../config';
|
|
4
|
-
import { ProviderResult } from '../util/types';
|
|
5
4
|
import { Requester } from '../util/requester';
|
|
6
|
-
import {
|
|
5
|
+
import { ProviderResult } from '../util/types';
|
|
7
6
|
import { SubscriptionTransport } from './abstract/subscription';
|
|
8
7
|
/**
|
|
9
8
|
* Helper struct type that will be used to pass types to the generic parameters of a Transport.
|
|
@@ -46,10 +45,10 @@ export interface HttpTransportConfig<T extends HttpTransportGenerics> {
|
|
|
46
45
|
* to consolidate many of them since the parseResponse method is called independently for each of them.
|
|
47
46
|
*
|
|
48
47
|
* @param params - the list of non-expired input parameters sent to this Adapter
|
|
49
|
-
* @param
|
|
48
|
+
* @param adapterSettings - the config for this Adapter
|
|
50
49
|
* @returns one or multiple request configs
|
|
51
50
|
*/
|
|
52
|
-
prepareRequests: (params: T['Request']['Params'][],
|
|
51
|
+
prepareRequests: (params: T['Request']['Params'][], adapterSettings: T['Settings']) => ProviderRequestConfig<T> | ProviderRequestConfig<T>[];
|
|
53
52
|
/**
|
|
54
53
|
* This method should take the incoming response from the data provider, and using that and the params, build a
|
|
55
54
|
* list of ProviderResults that will be stored in the response cache for this endpoint.
|
|
@@ -61,10 +60,10 @@ export interface HttpTransportConfig<T extends HttpTransportGenerics> {
|
|
|
61
60
|
*
|
|
62
61
|
* @param params - the list of input parameters that should be fulfilled by this incoming provider response
|
|
63
62
|
* @param res - the response from the data provider
|
|
64
|
-
* @param
|
|
63
|
+
* @param adapterSettings - the config for this Adapter
|
|
65
64
|
* @returns a list of ProviderResults
|
|
66
65
|
*/
|
|
67
|
-
parseResponse: (params: T['Request']['Params'][], res: AxiosResponse<T['Provider']['ResponseBody']>,
|
|
66
|
+
parseResponse: (params: T['Request']['Params'][], res: AxiosResponse<T['Provider']['ResponseBody']>, adapterSettings: T['Settings']) => ProviderResult<T>[];
|
|
68
67
|
}
|
|
69
68
|
/**
|
|
70
69
|
* Transport implementation that takes incoming batches of requests and keeps a warm cache of values.
|
|
@@ -81,8 +80,8 @@ export declare class HttpTransport<T extends HttpTransportGenerics> extends Subs
|
|
|
81
80
|
WARMER_ACTIVE: boolean;
|
|
82
81
|
requester: Requester;
|
|
83
82
|
constructor(config: HttpTransportConfig<T>);
|
|
84
|
-
initialize(dependencies: TransportDependencies<T>,
|
|
85
|
-
getSubscriptionTtlFromConfig(
|
|
83
|
+
initialize(dependencies: TransportDependencies<T>, adapterSettings: T['Settings'], endpointName: string, transportName: string): Promise<void>;
|
|
84
|
+
getSubscriptionTtlFromConfig(adapterSettings: T['Settings']): number;
|
|
86
85
|
backgroundHandler(context: EndpointContext<T>, entries: T['Request']['Params'][]): Promise<void>;
|
|
87
86
|
private handleRequest;
|
|
88
87
|
private makeRequest;
|