@apollo/gateway 2.1.0-alpha.0 → 2.1.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +5 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/datasources/LocalGraphQLDataSource.d.ts +2 -2
- package/dist/datasources/LocalGraphQLDataSource.d.ts.map +1 -1
- package/dist/datasources/LocalGraphQLDataSource.js +0 -2
- package/dist/datasources/LocalGraphQLDataSource.js.map +1 -1
- package/dist/datasources/RemoteGraphQLDataSource.d.ts +6 -6
- package/dist/datasources/RemoteGraphQLDataSource.d.ts.map +1 -1
- package/dist/datasources/RemoteGraphQLDataSource.js +15 -20
- package/dist/datasources/RemoteGraphQLDataSource.js.map +1 -1
- package/dist/datasources/types.d.ts +6 -5
- package/dist/datasources/types.d.ts.map +1 -1
- package/dist/executeQueryPlan.d.ts +3 -3
- package/dist/executeQueryPlan.d.ts.map +1 -1
- package/dist/executeQueryPlan.js +30 -16
- package/dist/executeQueryPlan.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -30
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/operationContext.d.ts.map +1 -1
- package/dist/operationContext.js +3 -7
- package/dist/operationContext.js.map +1 -1
- package/dist/supergraphManagers/IntrospectAndCompose/index.d.ts +1 -1
- package/dist/supergraphManagers/IntrospectAndCompose/index.d.ts.map +1 -1
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts +1 -1
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts.map +1 -1
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.js.map +1 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts +9 -7
- package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts.map +1 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/index.js +38 -41
- package/dist/supergraphManagers/UplinkSupergraphManager/index.js.map +1 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts +9 -8
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts.map +1 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js +19 -10
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js.map +1 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts +2 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts.map +1 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.js.map +1 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/types.d.ts +9 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/types.d.ts.map +1 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/types.js +5 -0
- package/dist/supergraphManagers/UplinkSupergraphManager/types.js.map +1 -0
- package/package.json +9 -11
- package/src/__tests__/buildQueryPlan.test.ts +6 -2
- package/src/__tests__/executeQueryPlan.test.ts +208 -8
- package/src/__tests__/execution-utils.ts +8 -6
- package/src/__tests__/gateway/executor.test.ts +2 -2
- package/src/__tests__/gateway/lifecycle-hooks.test.ts +1 -1
- package/src/__tests__/integration/abstract-types.test.ts +39 -71
- package/src/__tests__/integration/configuration.test.ts +2 -2
- package/src/__tests__/integration/managed.test.ts +72 -44
- package/src/__tests__/integration/networkRequests.test.ts +10 -23
- package/src/config.ts +6 -6
- package/src/datasources/LocalGraphQLDataSource.ts +2 -4
- package/src/datasources/RemoteGraphQLDataSource.ts +28 -44
- package/src/datasources/__tests__/LocalGraphQLDataSource.test.ts +2 -2
- package/src/datasources/__tests__/RemoteGraphQLDataSource.test.ts +14 -19
- package/src/datasources/types.ts +9 -5
- package/src/executeQueryPlan.ts +59 -45
- package/src/index.ts +31 -65
- package/src/logger.ts +1 -1
- package/src/operationContext.ts +5 -7
- package/src/supergraphManagers/IntrospectAndCompose/index.ts +1 -1
- package/src/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.ts +3 -3
- package/src/supergraphManagers/UplinkSupergraphManager/__tests__/UplinkSupergraphManager.test.ts +1 -3
- package/src/supergraphManagers/UplinkSupergraphManager/__tests__/loadSupergraphSdlFromStorage.test.ts +51 -16
- package/src/supergraphManagers/UplinkSupergraphManager/index.ts +67 -57
- package/src/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.ts +31 -19
- package/src/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.ts +2 -1
- package/src/supergraphManagers/UplinkSupergraphManager/types.ts +10 -0
package/dist/index.js
CHANGED
|
@@ -13,11 +13,14 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
16
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
20
|
+
exports.UplinkFetcherError = exports.UplinkSupergraphManager = exports.LocalCompose = exports.IntrospectAndCompose = exports.buildOperationContext = exports.executeQueryPlan = exports.ApolloGateway = exports.SERVICE_DEFINITION_QUERY = exports.HEALTH_CHECK_QUERY = void 0;
|
|
18
21
|
const util_1 = require("util");
|
|
19
22
|
const utils_createhash_1 = require("@apollo/utils.createhash");
|
|
20
|
-
const
|
|
23
|
+
const lru_cache_1 = __importDefault(require("lru-cache"));
|
|
21
24
|
const graphql_1 = require("graphql");
|
|
22
25
|
const operationContext_1 = require("./operationContext");
|
|
23
26
|
Object.defineProperty(exports, "buildOperationContext", { enumerable: true, get: function () { return operationContext_1.buildOperationContext; } });
|
|
@@ -65,10 +68,7 @@ class ApolloGateway {
|
|
|
65
68
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
66
69
|
return { errors: validationErrors };
|
|
67
70
|
}
|
|
68
|
-
let queryPlan;
|
|
69
|
-
if (this.queryPlanStore) {
|
|
70
|
-
queryPlan = await this.queryPlanStore.get(queryPlanStoreKey);
|
|
71
|
-
}
|
|
71
|
+
let queryPlan = this.queryPlanStore.get(queryPlanStoreKey);
|
|
72
72
|
if (!queryPlan) {
|
|
73
73
|
queryPlan = opentelemetry_1.tracer.startActiveSpan(opentelemetry_1.OpenTelemetrySpanNames.PLAN, (span) => {
|
|
74
74
|
try {
|
|
@@ -83,8 +83,11 @@ class ApolloGateway {
|
|
|
83
83
|
span.end();
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
try {
|
|
87
|
+
this.queryPlanStore.set(queryPlanStoreKey, queryPlan);
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
this.logger.warn('Could not store queryPlan' + ((err && err.message) || err));
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
93
|
const serviceMap = Object.entries(this.serviceMap).reduce((serviceDataSources, [serviceName, { dataSource }]) => {
|
|
@@ -99,7 +102,7 @@ class ApolloGateway {
|
|
|
99
102
|
operationContext,
|
|
100
103
|
});
|
|
101
104
|
}
|
|
102
|
-
const response = await (0, executeQueryPlan_1.executeQueryPlan)(queryPlan, serviceMap, requestContext, operationContext);
|
|
105
|
+
const response = await (0, executeQueryPlan_1.executeQueryPlan)(queryPlan, serviceMap, requestContext, operationContext, this.supergraphSchema);
|
|
103
106
|
const shouldShowQueryPlan = this.config.__exposeQueryPlanExperimental &&
|
|
104
107
|
request.http &&
|
|
105
108
|
request.http.headers &&
|
|
@@ -155,22 +158,12 @@ class ApolloGateway {
|
|
|
155
158
|
return this._supergraphManager;
|
|
156
159
|
}
|
|
157
160
|
initQueryPlanStore(approximateQueryPlanStoreMiB) {
|
|
158
|
-
return new
|
|
161
|
+
return new lru_cache_1.default({
|
|
159
162
|
maxSize: Math.pow(2, 20) * (approximateQueryPlanStoreMiB || 30),
|
|
160
|
-
|
|
163
|
+
sizeCalculation: approximateObjectSize,
|
|
161
164
|
});
|
|
162
165
|
}
|
|
163
166
|
issueConfigurationWarningsIfApplicable() {
|
|
164
|
-
if ((0, config_1.isManagedConfig)(this.config) &&
|
|
165
|
-
this.pollIntervalInMs &&
|
|
166
|
-
this.pollIntervalInMs < 10000) {
|
|
167
|
-
this.pollIntervalInMs = 10000;
|
|
168
|
-
this.logger.warn('Polling Apollo services at a frequency of less than once per 10 ' +
|
|
169
|
-
'seconds (10000) is disallowed. Instead, the minimum allowed ' +
|
|
170
|
-
'pollInterval of 10000 will be used. Please reconfigure your ' +
|
|
171
|
-
'`fallbackPollIntervalInMs` accordingly. If this is problematic for ' +
|
|
172
|
-
'your team, please contact support.');
|
|
173
|
-
}
|
|
174
167
|
if (this.pollIntervalInMs && (0, config_1.isServiceListConfig)(this.config)) {
|
|
175
168
|
this.logger.warn('Polling running services is dangerous and not recommended in production. ' +
|
|
176
169
|
'Polling should only be used against a registry. ' +
|
|
@@ -280,6 +273,7 @@ class ApolloGateway {
|
|
|
280
273
|
shouldRunSubgraphHealthcheck: this.config.serviceHealthCheck,
|
|
281
274
|
uplinkEndpoints: (_c = this.config.uplinkEndpoints) !== null && _c !== void 0 ? _c : schemaDeliveryEndpoints,
|
|
282
275
|
maxRetries: this.config.uplinkMaxRetries,
|
|
276
|
+
fetcher: this.config.fetcher,
|
|
283
277
|
logger: this.logger,
|
|
284
278
|
fallbackPollIntervalInMs: this.pollIntervalInMs,
|
|
285
279
|
}));
|
|
@@ -376,25 +370,26 @@ class ApolloGateway {
|
|
|
376
370
|
this.logger.debug('No change in composition since last check.');
|
|
377
371
|
return;
|
|
378
372
|
}
|
|
379
|
-
const {
|
|
373
|
+
const { supergraphSchema, supergraphSdl } = this.createSchemaFromSupergraphSdl(result.supergraphSdl);
|
|
380
374
|
const previousSchema = this.schema;
|
|
381
375
|
const previousSupergraphSdl = this.supergraphSdl;
|
|
382
376
|
const previousCompositionId = this.compositionId;
|
|
383
377
|
if (previousSchema) {
|
|
384
|
-
this.logger.info(
|
|
378
|
+
this.logger.info(`Updated Supergraph SDL was found [Composition ID ${this.compositionId} => ${result.id}]`);
|
|
385
379
|
}
|
|
386
380
|
this.compositionId = result.id;
|
|
387
381
|
this.supergraphSdl = supergraphSdl;
|
|
382
|
+
this.supergraphSchema = supergraphSchema.toGraphQLJSSchema();
|
|
388
383
|
if (!supergraphSdl) {
|
|
389
384
|
this.logger.error("A valid schema couldn't be composed. Falling back to previous schema.");
|
|
390
385
|
}
|
|
391
386
|
else {
|
|
392
|
-
this.updateWithSchemaAndNotify(
|
|
387
|
+
this.updateWithSchemaAndNotify(supergraphSchema, supergraphSdl);
|
|
393
388
|
if (this.experimental_didUpdateSupergraph) {
|
|
394
389
|
this.experimental_didUpdateSupergraph({
|
|
395
390
|
compositionId: result.id,
|
|
396
391
|
supergraphSdl,
|
|
397
|
-
schema: schema
|
|
392
|
+
schema: this.schema,
|
|
398
393
|
}, previousCompositionId && previousSupergraphSdl && previousSchema
|
|
399
394
|
? {
|
|
400
395
|
compositionId: previousCompositionId,
|
|
@@ -406,11 +401,10 @@ class ApolloGateway {
|
|
|
406
401
|
}
|
|
407
402
|
}
|
|
408
403
|
updateWithSchemaAndNotify(coreSchema, coreSupergraphSdl, legacyDontNotifyOnSchemaChangeListeners = false) {
|
|
409
|
-
|
|
410
|
-
this.queryPlanStore.flush();
|
|
404
|
+
this.queryPlanStore.clear();
|
|
411
405
|
this.apiSchema = coreSchema.toAPISchema();
|
|
412
406
|
this.schema = (0, addExtensions_1.addExtensions)(wrapSchemaWithAliasResolver(this.apiSchema.toGraphQLJSSchema()));
|
|
413
|
-
this.queryPlanner = new query_planner_1.QueryPlanner(coreSchema);
|
|
407
|
+
this.queryPlanner = new query_planner_1.QueryPlanner(coreSchema, this.config.queryPlannerConfig);
|
|
414
408
|
if (!legacyDontNotifyOnSchemaChangeListeners) {
|
|
415
409
|
this.onSchemaChangeListeners.forEach((listener) => {
|
|
416
410
|
try {
|
|
@@ -456,7 +450,7 @@ class ApolloGateway {
|
|
|
456
450
|
const [schema, serviceList] = (0, federation_internals_1.buildSupergraphSchema)(supergraphSdl);
|
|
457
451
|
this.createServices(serviceList);
|
|
458
452
|
return {
|
|
459
|
-
schema,
|
|
453
|
+
supergraphSchema: schema,
|
|
460
454
|
supergraphSdl,
|
|
461
455
|
};
|
|
462
456
|
}
|
|
@@ -603,5 +597,4 @@ class UnreachableCaseError extends Error {
|
|
|
603
597
|
__exportStar(require("./datasources"), exports);
|
|
604
598
|
var supergraphManagers_2 = require("./supergraphManagers");
|
|
605
599
|
Object.defineProperty(exports, "UplinkFetcherError", { enumerable: true, get: function () { return supergraphManagers_2.UplinkFetcherError; } });
|
|
606
|
-
Object.defineProperty(exports, "DEFAULT_UPLINK_ENDPOINTS", { enumerable: true, get: function () { return supergraphManagers_2.DEFAULT_UPLINK_ENDPOINTS; } });
|
|
607
600
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,OAAe,GAAG,MAAM,CAO/D"}
|
package/dist/logger.js
CHANGED
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getDefaultLogger = void 0;
|
|
7
7
|
const loglevel_1 = __importDefault(require("loglevel"));
|
|
8
|
-
function getDefaultLogger(debug =
|
|
8
|
+
function getDefaultLogger(debug = false) {
|
|
9
9
|
const logger = loglevel_1.default.getLogger('apollo-gateway');
|
|
10
10
|
const level = debug === true ? loglevel_1.default.levels.DEBUG : loglevel_1.default.levels.WARN;
|
|
11
11
|
logger.setLevel(level);
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAGhC,SAAgB,gBAAgB,CAAC,QAAiB,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAGhC,SAAgB,gBAAgB,CAAC,QAAiB,KAAK;IACrD,MAAM,MAAM,GAAG,kBAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAPD,4CAOC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operationContext.d.ts","sourceRoot":"","sources":["../src/operationContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operationContext.d.ts","sourceRoot":"","sources":["../src/operationContext.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,aAAa,EAEb,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,aAAK,WAAW,GAAG;IAAE,CAAC,YAAY,EAAE,MAAM,GAAG,sBAAsB,CAAA;CAAE,CAAC;AAEtE,oBAAY,gBAAgB,GAAG;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,uBAAuB,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC;CACxB,CAAC;AAGF,UAAU,4BAA4B;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,iBAAiB,EAAE,YAAY,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,iBAAiB,EACjB,aAAa,GACd,EAAE,4BAA4B,GAAG,gBAAgB,CAuCjD"}
|
package/dist/operationContext.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildOperationContext = void 0;
|
|
4
|
+
const federation_internals_1 = require("@apollo/federation-internals");
|
|
4
5
|
const graphql_1 = require("graphql");
|
|
5
6
|
function buildOperationContext({ schema, operationDocument, operationName, }) {
|
|
6
7
|
let operation;
|
|
@@ -11,7 +12,7 @@ function buildOperationContext({ schema, operationDocument, operationName, }) {
|
|
|
11
12
|
case graphql_1.Kind.OPERATION_DEFINITION:
|
|
12
13
|
operationCount++;
|
|
13
14
|
if (!operationName && operationCount > 1) {
|
|
14
|
-
throw
|
|
15
|
+
throw federation_internals_1.ERRORS.INVALID_GRAPHQL.err('Must provide operation name if query contains ' +
|
|
15
16
|
'multiple operations.');
|
|
16
17
|
}
|
|
17
18
|
if (!operationName ||
|
|
@@ -25,12 +26,7 @@ function buildOperationContext({ schema, operationDocument, operationName, }) {
|
|
|
25
26
|
}
|
|
26
27
|
});
|
|
27
28
|
if (!operation) {
|
|
28
|
-
|
|
29
|
-
throw new graphql_1.GraphQLError(`Unknown operation named "${operationName}".`);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
throw new graphql_1.GraphQLError('Must provide an operation.');
|
|
33
|
-
}
|
|
29
|
+
throw federation_internals_1.ERRORS.INVALID_GRAPHQL.err(operationName ? `Unknown operation named "${operationName}".` : 'Must provide an operation.');
|
|
34
30
|
}
|
|
35
31
|
return {
|
|
36
32
|
schema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operationContext.js","sourceRoot":"","sources":["../src/operationContext.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"operationContext.js","sourceRoot":"","sources":["../src/operationContext.ts"],"names":[],"mappings":";;;AAAA,uEAAsD;AACtD,qCAMiB;AAiBjB,SAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,iBAAiB,EACjB,aAAa,GACgB;IAC7B,IAAI,SAA8C,CAAC;IACnD,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,SAAS,GAEX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACjD,QAAQ,UAAU,CAAC,IAAI,EAAE;YACvB,KAAK,cAAI,CAAC,oBAAoB;gBAC5B,cAAc,EAAE,CAAC;gBACjB,IAAI,CAAC,aAAa,IAAI,cAAc,GAAG,CAAC,EAAE;oBACxC,MAAM,6BAAM,CAAC,eAAe,CAAC,GAAG,CAC9B,gDAAgD;wBAC9C,sBAAsB,CACzB,CAAC;iBACH;gBACD,IACE,CAAC,aAAa;oBACd,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,EAC5D;oBACA,SAAS,GAAG,UAAU,CAAC;iBACxB;gBACD,MAAM;YACR,KAAK,cAAI,CAAC,mBAAmB;gBAC3B,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;gBAC9C,MAAM;SACT;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,6BAAM,CAAC,eAAe,CAAC,GAAG,CAC9B,aAAa,CAAC,CAAC,CAAC,4BAA4B,aAAa,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAC7F,CAAC;KACH;IAED,OAAO;QACL,MAAM;QACN,SAAS;QACT,SAAS;KACV,CAAC;AACJ,CAAC;AA3CD,sDA2CC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Logger } from '@apollo/utils.logger';
|
|
2
|
-
import { HeadersInit } from 'node-fetch';
|
|
2
|
+
import type { HeadersInit } from 'node-fetch';
|
|
3
3
|
import { ServiceEndpointDefinition } from '../..';
|
|
4
4
|
import { SupergraphManager, SupergraphSdlHookOptions } from '../../config';
|
|
5
5
|
export interface IntrospectAndComposeOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/IntrospectAndCompose/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/IntrospectAndCompose/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EACL,yBAAyB,EAG1B,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAI3E,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,yBAAyB,EAAE,CAAC;IACvC,oBAAoB,CAAC,EACjB,WAAW,GACX,CAAC,CACC,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAOD,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAAC,CAA8B;IAC7C,OAAO,CAAC,WAAW,CAAC,CAA8B;IAClD,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAAQ;gBAET,OAAO,EAAE,2BAA2B;IAKnC,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,wBAAwB;;;;YA2C1E,mBAAmB;IAsBjC,OAAO,CAAC,gCAAgC;IAexC,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,IAAI;IAqBZ,OAAO,CAAC,gBAAgB;CAMzB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HeadersInit } from 'node-fetch';
|
|
1
|
+
import { type HeadersInit } from 'node-fetch';
|
|
2
2
|
import { GraphQLDataSource } from '../../datasources/types';
|
|
3
3
|
import { ServiceDefinitionUpdate, ServiceEndpointDefinition } from '../../config';
|
|
4
4
|
export declare type Service = ServiceEndpointDefinition & {
|
package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadServicesFromRemoteEndpoint.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loadServicesFromRemoteEndpoint.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAgC,MAAM,yBAAyB,CAAC;AAE1F,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAGlF,oBAAY,OAAO,GAAG,yBAAyB,GAAG;IAChD,UAAU,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF,wBAAsB,8BAA8B,CAAC,EACnD,WAAW,EACX,8BAA8B,EAC9B,eAAe,GAChB,EAAE;IACD,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,8BAA8B,EAAE,CAC9B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACtC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA4DnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadServicesFromRemoteEndpoint.js","sourceRoot":"","sources":["../../../src/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"loadServicesFromRemoteEndpoint.js","sourceRoot":"","sources":["../../../src/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAChC,2CAAuD;AAEvD,mDAA0F;AAC1F,6BAAiD;AAQ1C,KAAK,UAAU,8BAA8B,CAAC,EACnD,WAAW,EACX,8BAA8B,EAC9B,eAAe,GAOhB;IACC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;QACvC,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;KACH;IAED,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE;QAC/E,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,+BAA+B,CAAC,CAAC;SACrE;QAED,MAAM,OAAO,GAA0B;YACrC,KAAK,EAAE,4BAAwB;YAC/B,IAAI,EAAE;gBACJ,GAAG;gBACH,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,oBAAO,CAAC,MAAM,8BAA8B,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;aAC1E;SACF,CAAC;QAEF,OAAO,UAAU;aACd,OAAO,CAAC;YACP,IAAI,EAAE,oCAA4B,CAAC,cAAc;YACjD,OAAO;YACP,OAAO,EAAE,EAAE;SACZ,CAAC;aACD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAqB,EAAE;YAC5C,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAa,CAAC;gBAC7C,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAGrD,IAAI,kBAAkB,KAAK,QAAQ,EAAE;oBACnC,WAAW,GAAG,IAAI,CAAC;iBACpB;gBACD,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACpC,OAAO;oBACL,IAAI;oBACJ,GAAG;oBACH,QAAQ,EAAE,IAAA,eAAK,EAAC,QAAQ,CAAC;iBAC1B,CAAC;aACH;YAED,MAAM,IAAI,KAAK,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,YAAY,GAChB,0CAA0C,IAAI,QAAQ,GAAG,EAAE;gBAC3D,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAExD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACnE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAA;AAC5C,CAAC;AAtED,wEAsEC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Logger } from '@apollo/utils.logger';
|
|
2
2
|
import { SupergraphManager, SupergraphSdlHookOptions } from '../../config';
|
|
3
|
-
import {
|
|
4
|
-
export declare const DEFAULT_UPLINK_ENDPOINTS: string[];
|
|
3
|
+
import type { AbortableFetcher } from './types';
|
|
5
4
|
export declare type FailureToFetchSupergraphSdlFunctionParams = {
|
|
6
5
|
error: Error;
|
|
7
6
|
graphRef: string;
|
|
@@ -13,13 +12,17 @@ export declare type FailureToFetchSupergraphSdlAfterInit = ({ error, graphRef, l
|
|
|
13
12
|
mostRecentSuccessfulFetchAt?: Date;
|
|
14
13
|
}) => Promise<string | null>;
|
|
15
14
|
export declare class UplinkSupergraphManager implements SupergraphManager {
|
|
15
|
+
static readonly DEFAULT_REQUEST_TIMEOUT_MS = 30000;
|
|
16
|
+
static readonly MIN_POLL_INTERVAL_MS = 10000;
|
|
17
|
+
static readonly DEFAULT_UPLINK_ENDPOINTS: string[];
|
|
16
18
|
readonly uplinkEndpoints: string[];
|
|
17
19
|
private apiKey;
|
|
18
20
|
private graphRef;
|
|
19
21
|
private fetcher;
|
|
20
22
|
private maxRetries;
|
|
23
|
+
private requestTimeoutMs;
|
|
21
24
|
private initialMaxRetries;
|
|
22
|
-
private
|
|
25
|
+
private pollIntervalMs;
|
|
23
26
|
private logger;
|
|
24
27
|
private update?;
|
|
25
28
|
private shouldRunSubgraphHealthcheck;
|
|
@@ -31,19 +34,17 @@ export declare class UplinkSupergraphManager implements SupergraphManager {
|
|
|
31
34
|
private errorReportingEndpoint;
|
|
32
35
|
private compositionId?;
|
|
33
36
|
private fetchCount;
|
|
34
|
-
private minDelayMs;
|
|
35
|
-
private earliestFetchTime;
|
|
36
37
|
private mostRecentSuccessfulFetchAt?;
|
|
37
|
-
constructor({ apiKey, graphRef, debug, logger,
|
|
38
|
+
constructor({ apiKey, graphRef, debug, logger, uplinkEndpoints, fallbackPollIntervalInMs, maxRetries, initialMaxRetries, fetcher, shouldRunSubgraphHealthcheck, onFailureToFetchSupergraphSdlDuringInit, onFailureToFetchSupergraphSdlAfterInit, }: {
|
|
38
39
|
apiKey: string;
|
|
39
40
|
graphRef: string;
|
|
40
41
|
debug?: boolean;
|
|
41
42
|
logger?: Logger;
|
|
42
|
-
fetcher?: Fetcher;
|
|
43
43
|
uplinkEndpoints?: string[];
|
|
44
44
|
fallbackPollIntervalInMs?: number;
|
|
45
45
|
maxRetries?: number;
|
|
46
46
|
initialMaxRetries?: number;
|
|
47
|
+
fetcher?: AbortableFetcher;
|
|
47
48
|
shouldRunSubgraphHealthcheck?: boolean;
|
|
48
49
|
onFailureToFetchSupergraphSdlDuringInit?: FailureToFetchSupergraphSdlDuringInit;
|
|
49
50
|
onFailureToFetchSupergraphSdlAfterInit?: FailureToFetchSupergraphSdlAfterInit;
|
|
@@ -53,6 +54,7 @@ export declare class UplinkSupergraphManager implements SupergraphManager {
|
|
|
53
54
|
cleanup: () => Promise<void>;
|
|
54
55
|
}>;
|
|
55
56
|
nextFetch(): Promise<void | null>;
|
|
57
|
+
static getUplinkEndpoints(): string[];
|
|
56
58
|
private updateSupergraphSdl;
|
|
57
59
|
private beginPolling;
|
|
58
60
|
private poll;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/UplinkSupergraphManager/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/UplinkSupergraphManager/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,41 +26,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.UplinkSupergraphManager =
|
|
29
|
+
exports.UplinkSupergraphManager = void 0;
|
|
30
30
|
const makeFetchHappen = __importStar(require("make-fetch-happen"));
|
|
31
31
|
const resolvable_1 = __importDefault(require("@josephg/resolvable"));
|
|
32
32
|
const logger_1 = require("../../logger");
|
|
33
33
|
const loadSupergraphSdlFromStorage_1 = require("./loadSupergraphSdlFromStorage");
|
|
34
|
-
exports.DEFAULT_UPLINK_ENDPOINTS = [
|
|
35
|
-
'https://uplink.api.apollographql.com/',
|
|
36
|
-
'https://aws.uplink.api.apollographql.com/',
|
|
37
|
-
];
|
|
38
|
-
function getUplinkEndpoints() {
|
|
39
|
-
var _a;
|
|
40
|
-
const envEndpoints = (_a = process.env.APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT) === null || _a === void 0 ? void 0 : _a.split(',');
|
|
41
|
-
return envEndpoints !== null && envEndpoints !== void 0 ? envEndpoints : exports.DEFAULT_UPLINK_ENDPOINTS;
|
|
42
|
-
}
|
|
43
34
|
class UplinkSupergraphManager {
|
|
44
|
-
constructor({ apiKey, graphRef, debug, logger,
|
|
35
|
+
constructor({ apiKey, graphRef, debug, logger, uplinkEndpoints, fallbackPollIntervalInMs, maxRetries, initialMaxRetries, fetcher, shouldRunSubgraphHealthcheck, onFailureToFetchSupergraphSdlDuringInit, onFailureToFetchSupergraphSdlAfterInit, }) {
|
|
45
36
|
var _a;
|
|
46
|
-
this.uplinkEndpoints = getUplinkEndpoints();
|
|
37
|
+
this.uplinkEndpoints = UplinkSupergraphManager.getUplinkEndpoints();
|
|
47
38
|
this.fetcher = makeFetchHappen.defaults();
|
|
48
|
-
this.
|
|
39
|
+
this.requestTimeoutMs = UplinkSupergraphManager.DEFAULT_REQUEST_TIMEOUT_MS;
|
|
40
|
+
this.pollIntervalMs = UplinkSupergraphManager.MIN_POLL_INTERVAL_MS;
|
|
49
41
|
this.shouldRunSubgraphHealthcheck = false;
|
|
50
42
|
this.timerRef = null;
|
|
51
43
|
this.errorReportingEndpoint = (_a = process.env.APOLLO_OUT_OF_BAND_REPORTER_ENDPOINT) !== null && _a !== void 0 ? _a : undefined;
|
|
52
44
|
this.fetchCount = 0;
|
|
53
|
-
this.minDelayMs = null;
|
|
54
|
-
this.earliestFetchTime = null;
|
|
55
45
|
this.apiKey = apiKey;
|
|
56
46
|
this.graphRef = graphRef;
|
|
57
47
|
this.logger = logger !== null && logger !== void 0 ? logger : (0, logger_1.getDefaultLogger)(debug);
|
|
58
48
|
this.uplinkEndpoints = uplinkEndpoints !== null && uplinkEndpoints !== void 0 ? uplinkEndpoints : this.uplinkEndpoints;
|
|
59
49
|
this.maxRetries = maxRetries !== null && maxRetries !== void 0 ? maxRetries : this.uplinkEndpoints.length * 3 - 1;
|
|
60
50
|
this.initialMaxRetries = initialMaxRetries !== null && initialMaxRetries !== void 0 ? initialMaxRetries : this.maxRetries;
|
|
51
|
+
this.pollIntervalMs = fallbackPollIntervalInMs !== null && fallbackPollIntervalInMs !== void 0 ? fallbackPollIntervalInMs : this.pollIntervalMs;
|
|
52
|
+
if (this.pollIntervalMs < UplinkSupergraphManager.MIN_POLL_INTERVAL_MS) {
|
|
53
|
+
this.logger.warn('Polling Apollo services at a frequency of less than once per 10 seconds (10000) is disallowed. Instead, the minimum allowed pollInterval of 10000 will be used. Please reconfigure your `fallbackPollIntervalInMs` accordingly. If this is problematic for your team, please contact support.');
|
|
54
|
+
this.pollIntervalMs = UplinkSupergraphManager.MIN_POLL_INTERVAL_MS;
|
|
55
|
+
}
|
|
61
56
|
this.fetcher = fetcher !== null && fetcher !== void 0 ? fetcher : this.fetcher;
|
|
62
|
-
this.fallbackPollIntervalMs =
|
|
63
|
-
fallbackPollIntervalInMs !== null && fallbackPollIntervalInMs !== void 0 ? fallbackPollIntervalInMs : this.fallbackPollIntervalMs;
|
|
64
57
|
this.shouldRunSubgraphHealthcheck =
|
|
65
58
|
shouldRunSubgraphHealthcheck !== null && shouldRunSubgraphHealthcheck !== void 0 ? shouldRunSubgraphHealthcheck : this.shouldRunSubgraphHealthcheck;
|
|
66
59
|
this.onFailureToFetchSupergraphSdlDuringInit =
|
|
@@ -74,17 +67,12 @@ class UplinkSupergraphManager {
|
|
|
74
67
|
if (this.shouldRunSubgraphHealthcheck) {
|
|
75
68
|
this.healthCheck = healthCheck;
|
|
76
69
|
}
|
|
77
|
-
let initialSupergraphSdl =
|
|
70
|
+
let initialSupergraphSdl = null;
|
|
78
71
|
try {
|
|
79
|
-
|
|
80
|
-
if (!
|
|
72
|
+
initialSupergraphSdl = await this.updateSupergraphSdl(this.initialMaxRetries);
|
|
73
|
+
if (!initialSupergraphSdl) {
|
|
81
74
|
throw new Error('Invalid supergraph schema supplied during initialization.');
|
|
82
75
|
}
|
|
83
|
-
initialSupergraphSdl = result.supergraphSdl;
|
|
84
|
-
if (result.minDelaySeconds) {
|
|
85
|
-
this.minDelayMs = 1000 * result.minDelaySeconds;
|
|
86
|
-
this.earliestFetchTime = new Date(Date.now() + this.minDelayMs);
|
|
87
|
-
}
|
|
88
76
|
}
|
|
89
77
|
catch (e) {
|
|
90
78
|
this.logUpdateFailure(e);
|
|
@@ -112,10 +100,14 @@ class UplinkSupergraphManager {
|
|
|
112
100
|
}
|
|
113
101
|
return this.state.nextFetchPromise;
|
|
114
102
|
}
|
|
103
|
+
static getUplinkEndpoints() {
|
|
104
|
+
var _a;
|
|
105
|
+
const envEndpoints = (_a = process.env.APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT) === null || _a === void 0 ? void 0 : _a.split(',');
|
|
106
|
+
return envEndpoints !== null && envEndpoints !== void 0 ? envEndpoints : UplinkSupergraphManager.DEFAULT_UPLINK_ENDPOINTS;
|
|
107
|
+
}
|
|
115
108
|
async updateSupergraphSdl(maxRetries) {
|
|
116
109
|
var _a, _b;
|
|
117
110
|
let supergraphSdl;
|
|
118
|
-
let minDelaySeconds = this.fallbackPollIntervalMs / 1000;
|
|
119
111
|
try {
|
|
120
112
|
const result = await (0, loadSupergraphSdlFromStorage_1.loadSupergraphSdlFromUplinks)({
|
|
121
113
|
graphRef: this.graphRef,
|
|
@@ -125,16 +117,20 @@ class UplinkSupergraphManager {
|
|
|
125
117
|
fetcher: this.fetcher,
|
|
126
118
|
compositionId: (_a = this.compositionId) !== null && _a !== void 0 ? _a : null,
|
|
127
119
|
maxRetries,
|
|
120
|
+
requestTimeoutMs: this.requestTimeoutMs,
|
|
128
121
|
roundRobinSeed: this.fetchCount++,
|
|
129
|
-
earliestFetchTime: this.earliestFetchTime,
|
|
130
122
|
logger: this.logger,
|
|
131
123
|
});
|
|
124
|
+
this.mostRecentSuccessfulFetchAt = new Date();
|
|
125
|
+
this.logger.debug(`Received Uplink response. Has updated SDL? ${!!(result === null || result === void 0 ? void 0 : result.supergraphSdl)}`);
|
|
132
126
|
if (!result) {
|
|
133
127
|
return null;
|
|
134
128
|
}
|
|
135
129
|
this.compositionId = result.id;
|
|
136
|
-
|
|
137
|
-
|
|
130
|
+
supergraphSdl = result.supergraphSdl;
|
|
131
|
+
if (result === null || result === void 0 ? void 0 : result.minDelaySeconds) {
|
|
132
|
+
this.pollIntervalMs = result.minDelaySeconds * 1000;
|
|
133
|
+
}
|
|
138
134
|
}
|
|
139
135
|
catch (e) {
|
|
140
136
|
this.logger.debug(`Error fetching supergraphSdl from Uplink during phase '${this.state.phase}'`);
|
|
@@ -165,33 +161,28 @@ class UplinkSupergraphManager {
|
|
|
165
161
|
}
|
|
166
162
|
}
|
|
167
163
|
await ((_b = this.healthCheck) === null || _b === void 0 ? void 0 : _b.call(this, supergraphSdl));
|
|
168
|
-
return
|
|
164
|
+
return supergraphSdl;
|
|
169
165
|
}
|
|
170
166
|
beginPolling() {
|
|
171
167
|
this.state = { phase: 'polling' };
|
|
172
168
|
this.poll();
|
|
173
169
|
}
|
|
174
170
|
poll() {
|
|
175
|
-
const delay = this.minDelayMs
|
|
176
|
-
? Math.max(this.minDelayMs, this.fallbackPollIntervalMs)
|
|
177
|
-
: this.fallbackPollIntervalMs;
|
|
178
171
|
if (this.state.phase !== 'polling') {
|
|
172
|
+
this.logger.debug(`Stopped polling Uplink [phase: ${this.state.phase}]`);
|
|
179
173
|
return;
|
|
180
174
|
}
|
|
181
175
|
this.state.nextFetchPromise = (0, resolvable_1.default)();
|
|
176
|
+
this.logger.debug(`Will poll Uplink after ${this.pollIntervalMs}ms [phase: ${this.state.phase}]`);
|
|
182
177
|
this.timerRef = setTimeout(async () => {
|
|
183
178
|
var _a, _b;
|
|
184
179
|
if (this.state.phase === 'polling') {
|
|
185
180
|
const pollingPromise = (0, resolvable_1.default)();
|
|
186
181
|
this.state.pollingPromise = pollingPromise;
|
|
187
182
|
try {
|
|
188
|
-
const
|
|
189
|
-
if (
|
|
190
|
-
this.
|
|
191
|
-
this.earliestFetchTime = new Date(Date.now() + this.minDelayMs);
|
|
192
|
-
}
|
|
193
|
-
if (result === null || result === void 0 ? void 0 : result.supergraphSdl) {
|
|
194
|
-
(_a = this.update) === null || _a === void 0 ? void 0 : _a.call(this, result.supergraphSdl);
|
|
183
|
+
const supergraphSdl = await this.updateSupergraphSdl(this.maxRetries);
|
|
184
|
+
if (supergraphSdl) {
|
|
185
|
+
(_a = this.update) === null || _a === void 0 ? void 0 : _a.call(this, supergraphSdl);
|
|
195
186
|
}
|
|
196
187
|
}
|
|
197
188
|
catch (e) {
|
|
@@ -201,7 +192,7 @@ class UplinkSupergraphManager {
|
|
|
201
192
|
(_b = this.state.nextFetchPromise) === null || _b === void 0 ? void 0 : _b.resolve();
|
|
202
193
|
}
|
|
203
194
|
this.poll();
|
|
204
|
-
},
|
|
195
|
+
}, this.pollIntervalMs);
|
|
205
196
|
}
|
|
206
197
|
logUpdateFailure(e) {
|
|
207
198
|
var _a;
|
|
@@ -210,4 +201,10 @@ class UplinkSupergraphManager {
|
|
|
210
201
|
}
|
|
211
202
|
}
|
|
212
203
|
exports.UplinkSupergraphManager = UplinkSupergraphManager;
|
|
204
|
+
UplinkSupergraphManager.DEFAULT_REQUEST_TIMEOUT_MS = 30000;
|
|
205
|
+
UplinkSupergraphManager.MIN_POLL_INTERVAL_MS = 10000;
|
|
206
|
+
UplinkSupergraphManager.DEFAULT_UPLINK_ENDPOINTS = [
|
|
207
|
+
'https://uplink.api.apollographql.com/',
|
|
208
|
+
'https://aws.uplink.api.apollographql.com/',
|
|
209
|
+
];
|
|
213
210
|
//# sourceMappingURL=index.js.map
|