@chainlink/external-adapter-framework 0.25.0 → 0.26.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/README.md +0 -2
- package/adapter/basic.d.ts +1 -18
- package/adapter/basic.js +5 -41
- package/adapter/basic.js.map +1 -1
- package/adapter/endpoint.d.ts +32 -4
- package/adapter/endpoint.js +99 -3
- package/adapter/endpoint.js.map +1 -1
- package/adapter/price.js +5 -3
- package/adapter/price.js.map +1 -1
- package/adapter/types.d.ts +30 -10
- package/background-executor.js +12 -14
- package/background-executor.js.map +1 -1
- package/cache/index.d.ts +10 -18
- package/cache/index.js +29 -19
- package/cache/index.js.map +1 -1
- package/cache/response.d.ts +1 -1
- package/cache/response.js +4 -2
- package/cache/response.js.map +1 -1
- package/metrics/index.d.ts +3 -2
- package/metrics/index.js +7 -2
- package/metrics/index.js.map +1 -1
- package/package.json +3 -2
- package/rate-limiting/index.js +7 -2
- package/rate-limiting/index.js.map +1 -1
- package/transports/abstract/subscription.d.ts +2 -1
- package/transports/abstract/subscription.js +2 -1
- package/transports/abstract/subscription.js.map +1 -1
- package/transports/http.d.ts +1 -1
- package/transports/http.js +8 -4
- package/transports/http.js.map +1 -1
- package/transports/index.d.ts +2 -17
- package/transports/sse.d.ts +1 -1
- package/transports/sse.js +18 -6
- package/transports/sse.js.map +1 -1
- package/transports/websocket.js +1 -1
- package/transports/websocket.js.map +1 -1
- package/util/logger.d.ts +5 -1
- package/util/logger.js +3 -1
- package/util/logger.js.map +1 -1
- package/util/requester.js +16 -8
- package/util/requester.js.map +1 -1
- package/util/types.d.ts +10 -2
- package/validation/index.js +12 -8
- package/validation/index.js.map +1 -1
- package/validation/input-params.d.ts +3 -0
- package/config/provider-limits.d.ts +0 -27
- package/config/provider-limits.js +0 -75
- package/config/provider-limits.js.map +0 -1
- package/transports/meta/index.d.ts +0 -1
- package/transports/meta/index.js +0 -18
- package/transports/meta/index.js.map +0 -1
- package/transports/meta/routing.d.ts +0 -38
- package/transports/meta/routing.js +0 -80
- package/transports/meta/routing.js.map +0 -1
package/util/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/util/logger.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,sCAAwC;AAGxC,mCAAmC;AACnC,uDAAoD;AACpD,uEAAiE;AAEpD,QAAA,iBAAiB,GAAG,IAAI,oCAAiB,EAAE,CAAA;AAMxD,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE;QACP,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,wCAAwC;QAChD,aAAa,EAAE,wDAAwD;QACvE,aAAa,EAAE,uBAAuB;KACvC;CACF,CAAA;AAED,wEAAwE;AACxE,MAAM,UAAU,GAAG,IAAA,cAAI,EAAC;IACtB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,qBAAY,CAAC,SAAS,CAAC,OAAO;IAChF,UAAU,EAAE;QACV,KAAK,CAAC,KAAK;YACT,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QACzB,CAAC;KACF;IACD,KAAK,EAAE;QACL,SAAS,CAAC,SAAS,EAAE,MAAM;YACzB,iCAAiC;YACjC,MAAM,UAAU,GAAG,qBAAU,CAAC,MAAM,EAAE,CAAA;YACtC,OAAO,MAAM,CAAC,KAAK,CACjB,IAAI,EACJ,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAA2B,CAC1E,CAAA;QACH,CAAC;KACF;IACD,KAAK;QACH,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,OAAO,EAAE;YACrD,MAAM,KAAK,GAAG,yBAAiB,CAAC,QAAQ,EAAW,CAAA;YACnD,IAAI,KAAK,EAAE;gBACT,OAAO,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/util/logger.ts"],"names":[],"mappings":"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"}
|
package/util/requester.js
CHANGED
|
@@ -171,15 +171,23 @@ class Requester {
|
|
|
171
171
|
.inc();
|
|
172
172
|
}
|
|
173
173
|
catch (e) {
|
|
174
|
+
const err = e;
|
|
175
|
+
logger.info({
|
|
176
|
+
msg: 'Request failed',
|
|
177
|
+
response: {
|
|
178
|
+
statusCode: err.response?.status,
|
|
179
|
+
data: err.response?.data,
|
|
180
|
+
text: err.response?.statusText,
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
// Record count of failed data provider request
|
|
184
|
+
metrics_1.metrics
|
|
185
|
+
.get('dataProviderRequests')
|
|
186
|
+
.labels((0, metrics_1.dataProviderMetricsLabel)(err.response?.status || 0, config.method))
|
|
187
|
+
.inc();
|
|
174
188
|
if (retries >= this.maxRetries) {
|
|
175
|
-
logger.trace(
|
|
176
|
-
const err = e;
|
|
189
|
+
logger.trace('No more retries remaining, rejecting promise...');
|
|
177
190
|
const ErrorClass = err.response?.status ? error_1.AdapterDataProviderError : error_1.AdapterConnectionError;
|
|
178
|
-
// Record count of failed data provider request
|
|
179
|
-
metrics_1.metrics
|
|
180
|
-
.get('dataProviderRequests')
|
|
181
|
-
.labels((0, metrics_1.dataProviderMetricsLabel)(err.response?.status || 0, config.method))
|
|
182
|
-
.inc();
|
|
183
191
|
reject(new ErrorClass({
|
|
184
192
|
statusCode: 502,
|
|
185
193
|
name: 'Data Provider error',
|
|
@@ -198,7 +206,7 @@ class Requester {
|
|
|
198
206
|
}
|
|
199
207
|
else {
|
|
200
208
|
const timeToSleep = (2 ** retries + Math.random()) * 1000;
|
|
201
|
-
logger.
|
|
209
|
+
logger.info(`${this.maxRetries - retries} retries remaining, sleeping for ${timeToSleep}ms...`);
|
|
202
210
|
await (0, _1.sleep)(timeToSleep);
|
|
203
211
|
req.retries++;
|
|
204
212
|
logger.trace(`Adding request to the queue (Key: ${key}, Retry #: ${req.retries})`);
|
package/util/requester.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requester.js","sourceRoot":"","sources":["../../../src/util/requester.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"requester.js","sourceRoot":"","sources":["../../../src/util/requester.ts"],"names":[],"mappings":"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"}
|
package/util/types.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export interface AdapterRequestBody<T = AdapterRequestData> {
|
|
|
25
25
|
export type AdapterRequestContext<T = AdapterRequestData> = {
|
|
26
26
|
/** Name of the endpoint this payload should be directed to */
|
|
27
27
|
endpointName: string;
|
|
28
|
+
/** Name of the endpoint this payload should be directed to */
|
|
29
|
+
transportName: string;
|
|
28
30
|
/** Precalculated cache key used to get and set corresponding values from the cache and subscription sets */
|
|
29
31
|
cacheKey: string;
|
|
30
32
|
/** Normalized and validated data coming from the request body */
|
|
@@ -71,11 +73,17 @@ export interface AdapterMetricsMeta {
|
|
|
71
73
|
cacheHit?: boolean;
|
|
72
74
|
}
|
|
73
75
|
/**
|
|
74
|
-
*
|
|
76
|
+
* Input params that can always be present in an incoming request
|
|
75
77
|
*/
|
|
76
|
-
|
|
78
|
+
type CommonAdapterRequestParams = {
|
|
77
79
|
endpoint?: string;
|
|
80
|
+
transport?: string;
|
|
78
81
|
};
|
|
82
|
+
export type ReservedInputParameterNames = keyof CommonAdapterRequestParams;
|
|
83
|
+
/**
|
|
84
|
+
* Basic shape for the data within the request body
|
|
85
|
+
*/
|
|
86
|
+
export type AdapterRequestData = Record<string, unknown> & CommonAdapterRequestParams;
|
|
79
87
|
export type ProviderResultGenerics = {
|
|
80
88
|
Request: RequestGenerics;
|
|
81
89
|
Response: ResponseGenerics;
|
package/validation/index.js
CHANGED
|
@@ -42,17 +42,13 @@ const validatorMiddleware = (adapter) => (req, reply, done) => {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
const validatedData = endpoint.validator.validateInput(requestBody.data);
|
|
45
|
-
// Custom input validation defined in the EA
|
|
46
|
-
const error = endpoint.customInputValidation &&
|
|
47
|
-
endpoint.customInputValidation(validatedData, adapter.config);
|
|
48
|
-
if (error) {
|
|
49
|
-
throw error;
|
|
50
|
-
}
|
|
51
45
|
req.requestContext = {
|
|
52
46
|
cacheKey: '',
|
|
53
47
|
data: validatedData,
|
|
54
48
|
endpointName: endpoint.name,
|
|
55
49
|
};
|
|
50
|
+
// We do it afterwards so the custom routers can have a request with a requestContext fulfilled (sans transportName, ofc)
|
|
51
|
+
req.requestContext.transportName = endpoint.getTransportNameForRequest(req, adapter.config);
|
|
56
52
|
if (adapter.config.METRICS_ENABLED && adapter.config.EXPERIMENTAL_METRICS_ENABLED) {
|
|
57
53
|
// Add metrics meta which includes feedId to the request
|
|
58
54
|
// Perform prior to overrides to maintain consistent Feed IDs across adapters
|
|
@@ -62,9 +58,14 @@ const validatorMiddleware = (adapter) => (req, reply, done) => {
|
|
|
62
58
|
}, validatedData);
|
|
63
59
|
req.requestContext = { ...req.requestContext, meta: { metrics } };
|
|
64
60
|
}
|
|
61
|
+
// Custom input validation defined in the EA
|
|
62
|
+
const error = endpoint.customInputValidation && endpoint.customInputValidation(req, adapter.config);
|
|
63
|
+
if (error) {
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
65
66
|
// Run any request transforms that might have been defined in the adapter.
|
|
66
67
|
// This is the last time modifications are supposed to happen to the request.
|
|
67
|
-
|
|
68
|
+
endpoint.runRequestTransforms(req);
|
|
68
69
|
// Now that all the transformations have been applied, all that's left is calculating the cache key
|
|
69
70
|
if (endpoint.cacheKeyGenerator) {
|
|
70
71
|
let cacheKey;
|
|
@@ -76,12 +77,15 @@ const validatorMiddleware = (adapter) => (req, reply, done) => {
|
|
|
76
77
|
req.requestContext.cacheKey = cacheKey;
|
|
77
78
|
}
|
|
78
79
|
else {
|
|
80
|
+
const transportName = endpoint.getTransportNameForRequest(req, adapter.config);
|
|
79
81
|
req.requestContext.cacheKey = (0, cache_1.calculateCacheKey)({
|
|
82
|
+
data: req.requestContext.data,
|
|
80
83
|
adapterName: adapter.name,
|
|
81
84
|
endpointName: endpoint.name,
|
|
85
|
+
transportName,
|
|
82
86
|
inputParameters: endpoint.inputParameters,
|
|
83
87
|
adapterConfig: adapter.config,
|
|
84
|
-
}
|
|
88
|
+
});
|
|
85
89
|
}
|
|
86
90
|
done();
|
|
87
91
|
};
|
package/validation/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":";;;AAEA,oCAAsE;AACtE,0CAAgD;AAChD,kCAAoC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ReservedInputParameterNames } from '../util';
|
|
1
2
|
export type Override = Map<string, Map<string, string>>;
|
|
2
3
|
type ParameterType = 'bigint' | 'boolean' | 'array' | 'number' | 'object' | 'string';
|
|
3
4
|
export type InputParameter = {
|
|
@@ -12,6 +13,8 @@ export type InputParameter = {
|
|
|
12
13
|
};
|
|
13
14
|
export type InputParameters = {
|
|
14
15
|
[name: string]: InputParameter;
|
|
16
|
+
} & {
|
|
17
|
+
[K in ReservedInputParameterNames]?: never;
|
|
15
18
|
};
|
|
16
19
|
export type SpecificInputParameters<T> = {
|
|
17
20
|
[K in keyof T]: InputParameter;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export declare const DEFAULT_MINUTE_RATE_LIMIT = 60;
|
|
2
|
-
export declare const BURST_UNDEFINED_QUOTA_MULTIPLE = 2;
|
|
3
|
-
export declare const DEFAULT_WS_CONNECTIONS = 2;
|
|
4
|
-
export declare const DEFAULT_WS_SUBSCRIPTIONS = 10;
|
|
5
|
-
type RateLimitTimeFrame = 'rateLimit1s' | 'rateLimit1m' | 'rateLimit1h';
|
|
6
|
-
type HTTPTier = {
|
|
7
|
-
rateLimit1s?: number;
|
|
8
|
-
rateLimit1m?: number;
|
|
9
|
-
rateLimit1h?: number;
|
|
10
|
-
note?: string;
|
|
11
|
-
};
|
|
12
|
-
type WSTier = {
|
|
13
|
-
connections: number;
|
|
14
|
-
subscriptions: number;
|
|
15
|
-
};
|
|
16
|
-
export interface Limits {
|
|
17
|
-
http: Record<string, HTTPTier>;
|
|
18
|
-
ws: Record<string, WSTier>;
|
|
19
|
-
}
|
|
20
|
-
interface ProviderRateLimit {
|
|
21
|
-
second: number;
|
|
22
|
-
minute: number;
|
|
23
|
-
}
|
|
24
|
-
export declare const getHTTPLimit: (provider: string, limits: Limits, tier: string, timeframe: RateLimitTimeFrame) => number;
|
|
25
|
-
export declare const getRateLimit: (provider: string, limits: Limits, tier: string) => ProviderRateLimit;
|
|
26
|
-
export declare const getWSLimits: (provider: string, limits: Limits, tier: string) => WSTier;
|
|
27
|
-
export {};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWSLimits = exports.getRateLimit = exports.getHTTPLimit = exports.DEFAULT_WS_SUBSCRIPTIONS = exports.DEFAULT_WS_CONNECTIONS = exports.BURST_UNDEFINED_QUOTA_MULTIPLE = exports.DEFAULT_MINUTE_RATE_LIMIT = void 0;
|
|
4
|
-
const util_1 = require("../util");
|
|
5
|
-
exports.DEFAULT_MINUTE_RATE_LIMIT = 60;
|
|
6
|
-
exports.BURST_UNDEFINED_QUOTA_MULTIPLE = 2;
|
|
7
|
-
exports.DEFAULT_WS_CONNECTIONS = 2;
|
|
8
|
-
exports.DEFAULT_WS_SUBSCRIPTIONS = 10;
|
|
9
|
-
const logger = (0, util_1.makeLogger)('ProviderLimits');
|
|
10
|
-
const getHTTPLimit = (provider, limits, tier, timeframe) => {
|
|
11
|
-
const providerLimit = getProviderLimits(provider, limits, tier, 'http');
|
|
12
|
-
return providerLimit?.[timeframe] || 0;
|
|
13
|
-
};
|
|
14
|
-
exports.getHTTPLimit = getHTTPLimit;
|
|
15
|
-
const getRateLimit = (provider, limits, tier) => {
|
|
16
|
-
const providerLimit = getProviderLimits(provider, limits, tier, 'http');
|
|
17
|
-
return calculateRateLimit(providerLimit);
|
|
18
|
-
};
|
|
19
|
-
exports.getRateLimit = getRateLimit;
|
|
20
|
-
const getWSLimits = (provider, limits, tier) => {
|
|
21
|
-
const providerLimit = getProviderLimits(provider, limits, tier, 'ws');
|
|
22
|
-
return calculateWSLimits(providerLimit);
|
|
23
|
-
};
|
|
24
|
-
exports.getWSLimits = getWSLimits;
|
|
25
|
-
const getProviderLimits = (provider, limits, tier, protocol) => {
|
|
26
|
-
const providerConfig = parseLimits(limits);
|
|
27
|
-
if (!providerConfig) {
|
|
28
|
-
throw new Error(`Rate Limit: Provider: "${provider}" doesn't match any provider spec in the adapter rate limiting configurations`);
|
|
29
|
-
}
|
|
30
|
-
const protocolConfig = providerConfig[protocol];
|
|
31
|
-
if (!protocolConfig) {
|
|
32
|
-
throw new Error(`Rate Limit: "${provider}" doesn't have any configuration for ${protocol} in the adapter rate limiting configurations`);
|
|
33
|
-
}
|
|
34
|
-
let limitsConfig = protocolConfig[tier.toLowerCase()];
|
|
35
|
-
if (!limitsConfig) {
|
|
36
|
-
logger.debug(`Rate Limit: "${provider} does not have tier ${tier} defined. Falling back to lowest tier"`);
|
|
37
|
-
limitsConfig = Object.values(protocolConfig)?.[0];
|
|
38
|
-
}
|
|
39
|
-
if (!limitsConfig) {
|
|
40
|
-
throw new Error(`Rate Limit: Provider: "${provider}" has no tiers defined for ${protocol} in the adapter rate limiting configurations`);
|
|
41
|
-
}
|
|
42
|
-
return limitsConfig;
|
|
43
|
-
};
|
|
44
|
-
const objectKeysToLowercase = (obj) => {
|
|
45
|
-
const lower = {};
|
|
46
|
-
for (const key in obj) {
|
|
47
|
-
lower[key.toLowerCase()] = obj[key];
|
|
48
|
-
}
|
|
49
|
-
return lower;
|
|
50
|
-
};
|
|
51
|
-
const parseLimits = (limits) => {
|
|
52
|
-
limits.http = objectKeysToLowercase(limits.http);
|
|
53
|
-
limits.ws = objectKeysToLowercase(limits.ws);
|
|
54
|
-
return limits;
|
|
55
|
-
};
|
|
56
|
-
const calculateWSLimits = (providerLimit) => {
|
|
57
|
-
return {
|
|
58
|
-
connections: providerLimit.connections,
|
|
59
|
-
subscriptions: providerLimit.subscriptions,
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
const calculateRateLimit = (providerLimit) => {
|
|
63
|
-
let quota = providerLimit.rateLimit1m;
|
|
64
|
-
if (!quota && providerLimit?.rateLimit1h) {
|
|
65
|
-
quota = providerLimit?.rateLimit1h / 60;
|
|
66
|
-
}
|
|
67
|
-
else if (!quota && providerLimit?.rateLimit1s) {
|
|
68
|
-
quota = providerLimit?.rateLimit1s * 60;
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
second: providerLimit?.rateLimit1s || (quota / 60) * exports.BURST_UNDEFINED_QUOTA_MULTIPLE,
|
|
72
|
-
minute: quota,
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
//# sourceMappingURL=provider-limits.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-limits.js","sourceRoot":"","sources":["../../../src/config/provider-limits.ts"],"names":[],"mappings":";;;AAAA,kCAAoC;AAEvB,QAAA,yBAAyB,GAAG,EAAE,CAAA;AAC9B,QAAA,8BAA8B,GAAG,CAAC,CAAA;AAElC,QAAA,sBAAsB,GAAG,CAAC,CAAA;AAC1B,QAAA,wBAAwB,GAAG,EAAE,CAAA;AA0B1C,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,gBAAgB,CAAC,CAAA;AAEpC,MAAM,YAAY,GAAG,CAC1B,QAAgB,EAChB,MAAc,EACd,IAAY,EACZ,SAA6B,EACrB,EAAE;IACV,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvE,OAAQ,aAA0B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC,CAAA;AARY,QAAA,YAAY,gBAQxB;AAEM,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAY,EAAqB,EAAE;IAChG,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvE,OAAO,kBAAkB,CAAC,aAAyB,CAAC,CAAA;AACtD,CAAC,CAAA;AAHY,QAAA,YAAY,gBAGxB;AAEM,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAY,EAAU,EAAE;IACpF,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACrE,OAAO,iBAAiB,CAAC,aAAuB,CAAC,CAAA;AACnD,CAAC,CAAA;AAHY,QAAA,WAAW,eAGvB;AAED,MAAM,iBAAiB,GAAG,CACxB,QAAgB,EAChB,MAAc,EACd,IAAY,EACZ,QAAuB,EACQ,EAAE;IACjC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,+EAA+E,CAClH,CAAA;KACF;IAED,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC/C,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,gBAAgB,QAAQ,wCAAwC,QAAQ,8CAA8C,CACvH,CAAA;KACF;IAED,IAAI,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAErD,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,CAAC,KAAK,CACV,gBAAgB,QAAQ,uBAAuB,IAAI,wCAAwC,CAC5F,CAAA;QACD,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;KAClD;IAED,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,8BAA8B,QAAQ,8CAA8C,CACvH,CAAA;KACF;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAI,GAAsB,EAAqB,EAAE;IAC7E,MAAM,KAAK,GAAsB,EAAE,CAAA;IAEnC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACrB,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;KACpC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE;IAC7C,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,CAAC,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,aAAqB,EAAU,EAAE;IAC1D,OAAO;QACL,WAAW,EAAE,aAAa,CAAC,WAAW;QACtC,aAAa,EAAE,aAAa,CAAC,aAAa;KAC3C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,aAAuB,EAAqB,EAAE;IACxE,IAAI,KAAK,GAAG,aAAa,CAAC,WAAW,CAAA;IACrC,IAAI,CAAC,KAAK,IAAI,aAAa,EAAE,WAAW,EAAE;QACxC,KAAK,GAAG,aAAa,EAAE,WAAW,GAAG,EAAE,CAAA;KACxC;SAAM,IAAI,CAAC,KAAK,IAAI,aAAa,EAAE,WAAW,EAAE;QAC/C,KAAK,GAAG,aAAa,EAAE,WAAW,GAAG,EAAE,CAAA;KACxC;IACD,OAAO;QACL,MAAM,EAAE,aAAa,EAAE,WAAW,IAAI,CAAE,KAAgB,GAAG,EAAE,CAAC,GAAG,sCAA8B;QAC/F,MAAM,EAAE,KAAe;KACxB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './routing';
|
package/transports/meta/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./routing"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transports/meta/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { EndpointContext } from '../../adapter';
|
|
2
|
-
import { ResponseCache } from '../../cache/response';
|
|
3
|
-
import { AdapterConfig } from '../../config';
|
|
4
|
-
import { AdapterRequest, AdapterResponse, RequestGenerics } from '../../util';
|
|
5
|
-
import { MetaTransport, Transport, TransportDependencies, TransportGenerics } from '..';
|
|
6
|
-
export type RoutingTransportGenerics = TransportGenerics & {
|
|
7
|
-
Request: RequestGenerics & {
|
|
8
|
-
Params: RequestGenerics['Params'] & {
|
|
9
|
-
transport: string;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
export declare const routingTransportParams: {
|
|
14
|
-
transport: {
|
|
15
|
-
description: string;
|
|
16
|
-
type: "string";
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Transport implementation that takes 2 or more transports and a function that determines with transport to use.
|
|
21
|
-
*
|
|
22
|
-
* @typeParam T - Helper struct type that will be used to pass types to the generic parameters (check [[TransportGenerics]])
|
|
23
|
-
*/
|
|
24
|
-
export declare class RoutingTransport<T extends RoutingTransportGenerics> implements MetaTransport<T> {
|
|
25
|
-
transports: Record<string, Transport<T>>;
|
|
26
|
-
private customRouter?;
|
|
27
|
-
constructor(transports: Record<string, Transport<T>>, customRouter?: ((req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>) => string) | undefined);
|
|
28
|
-
responseCache: ResponseCache<{
|
|
29
|
-
Request: T['Request'];
|
|
30
|
-
Response: T['Response'];
|
|
31
|
-
}>;
|
|
32
|
-
backgroundExecute?: ((context: EndpointContext<T>) => Promise<void>) | undefined;
|
|
33
|
-
initialize(dependencies: TransportDependencies<T>, adapterConfig: AdapterConfig<T['CustomSettings']>, endpointName: string): Promise<void>;
|
|
34
|
-
registerRequest(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): Promise<void>;
|
|
35
|
-
private defaultRouter;
|
|
36
|
-
private resolveTransport;
|
|
37
|
-
foregroundExecute(req: AdapterRequest<T['Request']>, adapterConfig: AdapterConfig<T['CustomSettings']>): Promise<AdapterResponse<any> | void>;
|
|
38
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RoutingTransport = exports.routingTransportParams = void 0;
|
|
4
|
-
const util_1 = require("../../util");
|
|
5
|
-
const error_1 = require("../../validation/error");
|
|
6
|
-
const logger = (0, util_1.makeLogger)('RoutingTransport');
|
|
7
|
-
exports.routingTransportParams = {
|
|
8
|
-
transport: {
|
|
9
|
-
description: 'Name of the transport this request shuold be routed to',
|
|
10
|
-
type: 'string',
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Transport implementation that takes 2 or more transports and a function that determines with transport to use.
|
|
15
|
-
*
|
|
16
|
-
* @typeParam T - Helper struct type that will be used to pass types to the generic parameters (check [[TransportGenerics]])
|
|
17
|
-
*/
|
|
18
|
-
class RoutingTransport {
|
|
19
|
-
constructor(transports,
|
|
20
|
-
// This is public for tests, which sometimes need the underlying transport for things like ticking the clock
|
|
21
|
-
customRouter) {
|
|
22
|
-
this.transports = transports;
|
|
23
|
-
this.customRouter = customRouter;
|
|
24
|
-
for (const transportName in this.transports) {
|
|
25
|
-
// This is intentional, to keep names to one word only
|
|
26
|
-
if (!/^[a-z]+$/.test(transportName)) {
|
|
27
|
-
throw new Error(`Transport name "${transportName}" names in the RoutingTransport map can only include lowercase letters`);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
async initialize(dependencies, adapterConfig, endpointName) {
|
|
32
|
-
logger.debug(`Initializing ${Object.keys(this.transports).length} transports`);
|
|
33
|
-
await Promise.all(Object.entries(this.transports).map(([name, transport]) => {
|
|
34
|
-
logger.debug(`Initializing transport ${name} (${transport.constructor.name})`);
|
|
35
|
-
return transport.initialize(dependencies, adapterConfig, endpointName);
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
38
|
-
async registerRequest(req, adapterConfig) {
|
|
39
|
-
logger.debug(`registering request using `, req.requestContext.data);
|
|
40
|
-
const transport = this.resolveTransport(req, adapterConfig);
|
|
41
|
-
if (transport.registerRequest) {
|
|
42
|
-
logger.debug(`Running registerRequest on retrieved transport`);
|
|
43
|
-
return transport.registerRequest(req, adapterConfig);
|
|
44
|
-
}
|
|
45
|
-
logger.debug(`Retrieved transport doesn't implement registerRequest`);
|
|
46
|
-
}
|
|
47
|
-
defaultRouter(req) {
|
|
48
|
-
return req.requestContext.data.transport?.toLowerCase();
|
|
49
|
-
}
|
|
50
|
-
resolveTransport(req, adapterConfig) {
|
|
51
|
-
logger.debug(`Routing request using `, req.requestContext.data);
|
|
52
|
-
const key = this.customRouter ? this.customRouter(req, adapterConfig) : this.defaultRouter(req);
|
|
53
|
-
if (!key) {
|
|
54
|
-
logger.error(`No transport was specified in the input parameters, and this endpoint does not have a default set.`);
|
|
55
|
-
throw new error_1.AdapterError({
|
|
56
|
-
statusCode: 400,
|
|
57
|
-
message: `No transport was specified in the input parameters, and this endpoint does not have a default set.`,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
if (!this.transports[key]) {
|
|
61
|
-
logger.error(`No transport found for key ${key}`);
|
|
62
|
-
throw new error_1.AdapterError({ statusCode: 400, message: `No transport found for ${key}` });
|
|
63
|
-
}
|
|
64
|
-
const transport = this.transports[key];
|
|
65
|
-
logger.debug(`Found ${transport.constructor.name} corresponding to ${key}`);
|
|
66
|
-
return transport;
|
|
67
|
-
}
|
|
68
|
-
// Allow AdapterResponse<any> below since we don't know what the adapter will return
|
|
69
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
70
|
-
async foregroundExecute(req, adapterConfig) {
|
|
71
|
-
const transport = this.resolveTransport(req, adapterConfig);
|
|
72
|
-
if (transport.foregroundExecute) {
|
|
73
|
-
logger.debug(`Running foregroundExecute on retrieved transport`);
|
|
74
|
-
return transport.foregroundExecute(req, adapterConfig);
|
|
75
|
-
}
|
|
76
|
-
logger.debug(`Retrieved transport doesn't implement foregroundExecute`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.RoutingTransport = RoutingTransport;
|
|
80
|
-
//# sourceMappingURL=routing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../../src/transports/meta/routing.ts"],"names":[],"mappings":"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"}
|