@apollo/gateway 0.35.0-alpha.1 → 0.37.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/CHANGELOG.md +15 -0
- package/dist/__generated__/graphqlTypes.d.ts +12 -10
- package/dist/__generated__/graphqlTypes.d.ts.map +1 -1
- package/dist/datasources/LocalGraphQLDataSource.d.ts +3 -3
- package/dist/datasources/LocalGraphQLDataSource.d.ts.map +1 -1
- package/dist/datasources/LocalGraphQLDataSource.js +1 -1
- package/dist/datasources/LocalGraphQLDataSource.js.map +1 -1
- package/dist/datasources/RemoteGraphQLDataSource.d.ts +5 -3
- package/dist/datasources/RemoteGraphQLDataSource.d.ts.map +1 -1
- package/dist/datasources/RemoteGraphQLDataSource.js +51 -12
- package/dist/datasources/RemoteGraphQLDataSource.js.map +1 -1
- package/dist/datasources/index.d.ts +1 -1
- package/dist/datasources/index.d.ts.map +1 -1
- package/dist/datasources/parseCacheControlHeader.d.ts +2 -0
- package/dist/datasources/parseCacheControlHeader.d.ts.map +1 -0
- package/dist/datasources/parseCacheControlHeader.js +16 -0
- package/dist/datasources/parseCacheControlHeader.js.map +1 -0
- package/dist/datasources/types.d.ts +16 -1
- package/dist/datasources/types.d.ts.map +1 -1
- package/dist/datasources/types.js +7 -0
- package/dist/datasources/types.js.map +1 -1
- package/dist/executeQueryPlan.d.ts.map +1 -1
- package/dist/executeQueryPlan.js +3 -0
- package/dist/executeQueryPlan.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/loadServicesFromRemoteEndpoint.d.ts.map +1 -1
- package/dist/loadServicesFromRemoteEndpoint.js +9 -4
- package/dist/loadServicesFromRemoteEndpoint.js.map +1 -1
- package/package.json +8 -8
- package/src/__generated__/graphqlTypes.ts +2 -15
- package/src/__tests__/gateway/__snapshots__/opentelemetry.test.ts.snap +12 -4
- package/src/__tests__/gateway/buildService.test.ts +8 -2
- package/src/__tests__/gateway/endToEnd.test.ts +166 -0
- package/src/__tests__/gateway/opentelemetry.test.ts +7 -6
- package/src/__tests__/gateway/reporting.test.ts +4 -0
- package/src/__tests__/loadSupergraphSdlFromStorage.test.ts +5 -0
- package/src/datasources/LocalGraphQLDataSource.ts +9 -10
- package/src/datasources/RemoteGraphQLDataSource.ts +106 -38
- package/src/datasources/__tests__/LocalGraphQLDataSource.test.ts +7 -1
- package/src/datasources/__tests__/RemoteGraphQLDataSource.test.ts +38 -18
- package/src/datasources/index.ts +1 -1
- package/src/datasources/parseCacheControlHeader.ts +43 -0
- package/src/datasources/types.ts +47 -2
- package/src/executeQueryPlan.ts +3 -1
- package/src/index.ts +11 -2
- package/src/loadServicesFromRemoteEndpoint.ts +9 -5
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
> The changes noted within this `vNEXT` section have not been released yet. New PRs and commits which introduce changes should include an entry in this `vNEXT` section as part of their development. When a release is being prepared, a new header will be (manually) created below and the appropriate changes within that release will be moved into the new section.
|
|
6
6
|
|
|
7
|
+
- _Nothing yet! Stay tuned!_
|
|
8
|
+
|
|
9
|
+
## v0.37.0
|
|
10
|
+
|
|
11
|
+
- OpenTelemetry will now include the GraphQL `operationName` in span attributes, following up on the initial implementation introduced in v0.31.0 via [#836](https://github.com/apollographql/federation/pull/836) [PR #942](https://github.com/apollographql/federation/pull/942)
|
|
12
|
+
|
|
13
|
+
## v0.36.0
|
|
14
|
+
|
|
15
|
+
- In `RemoteGraphQLDataSource`, if the subgraph response has a `cache-control` header, use it to affect the current request's overall cache policy. You can disable this by passing `honorSubgraphCacheControlHeader: false` to the `RemoteGraphQLDataSource constructor`. This feature is only enabled when your subgraph is running Apollo Server 3.0.2 or later. [PR #870](https://github.com/apollographql/apollo-server/pull/870) [Related docs PR](https://github.com/apollographql/apollo-server/pull/5536)
|
|
16
|
+
- Provide the full incoming `GraphQLRequestContext` to `GraphQLDataSource.process`, as well as a `kind` allowing your implementation to differentiate between requests that come from incoming GraphQL operations, health checks, and schema fetches. [PR #870](https://github.com/apollographql/apollo-server/pull/870) [Issue #419](https://github.com/apollographql/apollo-server/issues/419) [Issue #835](https://github.com/apollographql/apollo-server/issues/835)
|
|
17
|
+
|
|
18
|
+
## v0.35.1
|
|
19
|
+
|
|
20
|
+
- Narrow `graphql` peer dependency to a more fitting range `^15.4.0` based on our current usage of the package. This requirement was introduced by, but not captured in, changes within the recently released `@apollo/gateway@0.35.0`. As such, this change will be released as a `patch` since the breaking change already accidentally happened and this is a correction to that oversight. [PR #913](https://github.com/apollographql/federation/pull/913)
|
|
21
|
+
|
|
7
22
|
## v0.35.0
|
|
8
23
|
|
|
9
24
|
- Fixes bug where one `onSchemaChange` listener throwing would prevent other `onSchemaChange` listeners from being notified. [PR #738](https://github.com/apollographql/federation/pull/738)
|
|
@@ -100,21 +100,23 @@ export declare type SupergraphSdlQueryVariables = Exact<{
|
|
|
100
100
|
apiKey: Scalars['String'];
|
|
101
101
|
ref: Scalars['String'];
|
|
102
102
|
}>;
|
|
103
|
-
export declare type SupergraphSdlQuery =
|
|
103
|
+
export declare type SupergraphSdlQuery = {
|
|
104
104
|
__typename?: 'Query';
|
|
105
|
-
|
|
106
|
-
routerConfig: ({
|
|
105
|
+
routerConfig: {
|
|
107
106
|
__typename: 'RouterConfigResult';
|
|
108
|
-
|
|
109
|
-
supergraphSdl:
|
|
110
|
-
}
|
|
107
|
+
id: string;
|
|
108
|
+
supergraphSdl: string;
|
|
109
|
+
} | {
|
|
111
110
|
__typename: 'FetchError';
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
code: FetchErrorCode;
|
|
112
|
+
message: string;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
114
115
|
export declare type OobReportMutationVariables = Exact<{
|
|
115
116
|
input?: Maybe<ApiMonitoringReport>;
|
|
116
117
|
}>;
|
|
117
|
-
export declare type OobReportMutation =
|
|
118
|
+
export declare type OobReportMutation = {
|
|
118
119
|
__typename?: 'Mutation';
|
|
119
|
-
|
|
120
|
+
reportError: boolean;
|
|
121
|
+
};
|
|
120
122
|
//# sourceMappingURL=graphqlTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphqlTypes.d.ts","sourceRoot":"","sources":["../../src/__generated__/graphqlTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"graphqlTypes.d.ts","sourceRoot":"","sources":["../../src/__generated__/graphqlTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GraphQLResponse } from 'apollo-server-types';
|
|
2
2
|
import { GraphQLSchema, DocumentNode } from 'graphql';
|
|
3
|
-
import { GraphQLDataSource } from './types';
|
|
3
|
+
import { GraphQLDataSource, GraphQLDataSourceProcessOptions } from './types';
|
|
4
4
|
export declare class LocalGraphQLDataSource<TContext extends Record<string, any> = Record<string, any>> implements GraphQLDataSource<TContext> {
|
|
5
5
|
readonly schema: GraphQLSchema;
|
|
6
6
|
constructor(schema: GraphQLSchema);
|
|
7
|
-
process({ request, context, }:
|
|
7
|
+
process({ request, context, }: GraphQLDataSourceProcessOptions<TContext>): Promise<GraphQLResponse>;
|
|
8
8
|
sdl(): DocumentNode;
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=LocalGraphQLDataSource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalGraphQLDataSource.d.ts","sourceRoot":"","sources":["../../src/datasources/LocalGraphQLDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LocalGraphQLDataSource.d.ts","sourceRoot":"","sources":["../../src/datasources/LocalGraphQLDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,aAAa,EAGb,YAAY,EAEb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE7E,qBAAa,sBAAsB,CACjC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC1D,YAAW,iBAAiB,CAAC,QAAQ,CAAC;aAEV,MAAM,EAAE,aAAa;gBAArB,MAAM,EAAE,aAAa;IAI3C,OAAO,CAAC,EACZ,OAAO,EACP,OAAO,GACR,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAUhE,GAAG,IAAI,YAAY;CAY3B"}
|
|
@@ -23,7 +23,7 @@ class LocalGraphQLDataSource {
|
|
|
23
23
|
source: `{ _service { sdl }}`,
|
|
24
24
|
});
|
|
25
25
|
if (result.errors) {
|
|
26
|
-
throw new Error(result.errors.map(error => error.message).join('\n\n'));
|
|
26
|
+
throw new Error(result.errors.map((error) => error.message).join('\n\n'));
|
|
27
27
|
}
|
|
28
28
|
const sdl = result.data && result.data._service && result.data._service.sdl;
|
|
29
29
|
return graphql_1.parse(sdl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalGraphQLDataSource.js","sourceRoot":"","sources":["../../src/datasources/LocalGraphQLDataSource.ts"],"names":[],"mappings":";;;AACA,qCAMiB;AACjB,+
|
|
1
|
+
{"version":3,"file":"LocalGraphQLDataSource.js","sourceRoot":"","sources":["../../src/datasources/LocalGraphQLDataSource.ts"],"names":[],"mappings":";;;AACA,qCAMiB;AACjB,+FAAsG;AAGtG,MAAa,sBAAsB;IAIjC,YAA4B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QAC/C,uDAA+B,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EACZ,OAAO,EACP,OAAO,GACmC;QAC1C,OAAO,iBAAO,CAAC;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,OAAO,CAAC,KAAM;YACtB,cAAc,EAAE,OAAO,CAAC,SAAS;YACjC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAG,qBAAW,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3E;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC5E,OAAO,eAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACF;AAjCD,wDAiCC"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { GraphQLRequestContext, GraphQLResponse, ValueOrPromise } from 'apollo-server-types';
|
|
2
2
|
import { ApolloError } from 'apollo-server-errors';
|
|
3
3
|
import { fetch, Request, Response } from 'apollo-server-env';
|
|
4
|
-
import { GraphQLDataSource } from './types';
|
|
4
|
+
import { GraphQLDataSource, GraphQLDataSourceProcessOptions } from './types';
|
|
5
5
|
export declare class RemoteGraphQLDataSource<TContext extends Record<string, any> = Record<string, any>> implements GraphQLDataSource<TContext> {
|
|
6
6
|
fetcher: typeof fetch;
|
|
7
7
|
constructor(config?: Partial<RemoteGraphQLDataSource<TContext>> & object & ThisType<RemoteGraphQLDataSource<TContext>>);
|
|
8
8
|
url: string;
|
|
9
9
|
apq: boolean;
|
|
10
|
-
|
|
10
|
+
honorSubgraphCacheControlHeader: boolean;
|
|
11
|
+
process(options: GraphQLDataSourceProcessOptions<TContext>): Promise<GraphQLResponse>;
|
|
11
12
|
private sendRequest;
|
|
12
|
-
willSendRequest?(
|
|
13
|
+
willSendRequest?(options: GraphQLDataSourceProcessOptions<TContext>): ValueOrPromise<void>;
|
|
14
|
+
private respond;
|
|
13
15
|
didReceiveResponse?(requestContext: Required<Pick<GraphQLRequestContext<TContext>, 'request' | 'response' | 'context'>>): ValueOrPromise<GraphQLResponse>;
|
|
14
16
|
didEncounterError(error: Error, _fetchRequest: Request, _fetchResponse?: Response, _context?: TContext): void;
|
|
15
17
|
parseBody(fetchResponse: Response, _fetchRequest?: Request, _context?: TContext): Promise<object | string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteGraphQLDataSource.d.ts","sourceRoot":"","sources":["../../src/datasources/RemoteGraphQLDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,cAAc,
|
|
1
|
+
{"version":3,"file":"RemoteGraphQLDataSource.d.ts","sourceRoot":"","sources":["../../src/datasources/RemoteGraphQLDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,cAAc,EAKf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EAGZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAW,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAgC,MAAM,SAAS,CAAC;AAI3G,qBAAa,uBAAuB,CAClC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC1D,YAAW,iBAAiB,CAAC,QAAQ,CAAC;IAEtC,OAAO,EAAE,OAAO,KAAK,CAAS;gBAG5B,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,GACjD,MAAM,GACN,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAO/C,GAAG,EAAG,MAAM,CAAC;IAoBb,GAAG,EAAE,OAAO,CAAS;IAMrB,+BAA+B,EAAE,OAAO,CAAQ;IAE1C,OAAO,CACX,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,OAAO,CAAC,eAAe,CAAC;YA4Fb,WAAW;IAkDlB,eAAe,CAAC,CACrB,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,cAAc,CAAC,IAAI,CAAC;YAET,OAAO;IA0Cd,kBAAkB,CAAC,CACxB,cAAc,EAAE,QAAQ,CACtB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAC1E,GACA,cAAc,CAAC,eAAe,CAAC;IAE3B,iBAAiB,CACtB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,OAAO,EACtB,cAAc,CAAC,EAAE,QAAQ,EACzB,QAAQ,CAAC,EAAE,QAAQ;IAKd,SAAS,CACd,aAAa,EAAE,QAAQ,EACvB,aAAa,CAAC,EAAE,OAAO,EACvB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IASd,iBAAiB,CAAC,QAAQ,EAAE,QAAQ;CAyBlD"}
|
|
@@ -4,19 +4,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.RemoteGraphQLDataSource = void 0;
|
|
7
|
+
const apollo_server_types_1 = require("apollo-server-types");
|
|
7
8
|
const apollo_server_errors_1 = require("apollo-server-errors");
|
|
8
9
|
const apollo_server_env_1 = require("apollo-server-env");
|
|
9
10
|
const predicates_1 = require("../utilities/predicates");
|
|
11
|
+
const types_1 = require("./types");
|
|
10
12
|
const createSHA_1 = __importDefault(require("apollo-server-core/dist/utils/createSHA"));
|
|
13
|
+
const parseCacheControlHeader_1 = require("./parseCacheControlHeader");
|
|
11
14
|
class RemoteGraphQLDataSource {
|
|
12
15
|
constructor(config) {
|
|
13
16
|
this.fetcher = apollo_server_env_1.fetch;
|
|
14
17
|
this.apq = false;
|
|
18
|
+
this.honorSubgraphCacheControlHeader = true;
|
|
15
19
|
if (config) {
|
|
16
20
|
return Object.assign(this, config);
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
|
-
async process(
|
|
23
|
+
async process(options) {
|
|
24
|
+
var _a;
|
|
25
|
+
const { request, context: originalContext } = options;
|
|
26
|
+
const context = originalContext;
|
|
20
27
|
const headers = (request.http && request.http.headers) || new apollo_server_env_1.Headers();
|
|
21
28
|
headers.set('Content-Type', 'application/json');
|
|
22
29
|
request.http = {
|
|
@@ -25,19 +32,19 @@ class RemoteGraphQLDataSource {
|
|
|
25
32
|
headers,
|
|
26
33
|
};
|
|
27
34
|
if (this.willSendRequest) {
|
|
28
|
-
await this.willSendRequest(
|
|
35
|
+
await this.willSendRequest(options);
|
|
29
36
|
}
|
|
30
37
|
if (!request.query) {
|
|
31
|
-
throw new Error(
|
|
38
|
+
throw new Error('Missing query');
|
|
32
39
|
}
|
|
33
40
|
const { query, ...requestWithoutQuery } = request;
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
:
|
|
41
|
+
const overallCachePolicy = this.honorSubgraphCacheControlHeader &&
|
|
42
|
+
options.kind === types_1.GraphQLDataSourceRequestKind.INCOMING_OPERATION &&
|
|
43
|
+
((_a = options.incomingRequestContext.overallCachePolicy) === null || _a === void 0 ? void 0 : _a.restrict)
|
|
44
|
+
? options.incomingRequestContext.overallCachePolicy
|
|
45
|
+
: null;
|
|
37
46
|
if (this.apq) {
|
|
38
|
-
const apqHash = createSHA_1.default('sha256')
|
|
39
|
-
.update(request.query)
|
|
40
|
-
.digest('hex');
|
|
47
|
+
const apqHash = createSHA_1.default('sha256').update(request.query).digest('hex');
|
|
41
48
|
requestWithoutQuery.extensions = {
|
|
42
49
|
...request.extensions,
|
|
43
50
|
persistedQuery: {
|
|
@@ -47,8 +54,13 @@ class RemoteGraphQLDataSource {
|
|
|
47
54
|
};
|
|
48
55
|
const apqOptimisticResponse = await this.sendRequest(requestWithoutQuery, context);
|
|
49
56
|
if (!apqOptimisticResponse.errors ||
|
|
50
|
-
!apqOptimisticResponse.errors.find(error => error.message === 'PersistedQueryNotFound')) {
|
|
51
|
-
return respond(
|
|
57
|
+
!apqOptimisticResponse.errors.find((error) => error.message === 'PersistedQueryNotFound')) {
|
|
58
|
+
return this.respond({
|
|
59
|
+
response: apqOptimisticResponse,
|
|
60
|
+
request: requestWithoutQuery,
|
|
61
|
+
context,
|
|
62
|
+
overallCachePolicy,
|
|
63
|
+
});
|
|
52
64
|
}
|
|
53
65
|
}
|
|
54
66
|
const requestWithQuery = {
|
|
@@ -56,7 +68,12 @@ class RemoteGraphQLDataSource {
|
|
|
56
68
|
...requestWithoutQuery,
|
|
57
69
|
};
|
|
58
70
|
const response = await this.sendRequest(requestWithQuery, context);
|
|
59
|
-
return respond(
|
|
71
|
+
return this.respond({
|
|
72
|
+
response,
|
|
73
|
+
request: requestWithQuery,
|
|
74
|
+
context,
|
|
75
|
+
overallCachePolicy,
|
|
76
|
+
});
|
|
60
77
|
}
|
|
61
78
|
async sendRequest(request, context) {
|
|
62
79
|
if (!request.http) {
|
|
@@ -91,6 +108,28 @@ class RemoteGraphQLDataSource {
|
|
|
91
108
|
throw error;
|
|
92
109
|
}
|
|
93
110
|
}
|
|
111
|
+
async respond({ response, request, context, overallCachePolicy, }) {
|
|
112
|
+
var _a;
|
|
113
|
+
const processedResponse = typeof this.didReceiveResponse === 'function'
|
|
114
|
+
? await this.didReceiveResponse({ response, request, context })
|
|
115
|
+
: response;
|
|
116
|
+
if (overallCachePolicy) {
|
|
117
|
+
const parsed = parseCacheControlHeader_1.parseCacheControlHeader((_a = response.http) === null || _a === void 0 ? void 0 : _a.headers.get('cache-control'));
|
|
118
|
+
const hint = { maxAge: 0 };
|
|
119
|
+
const maxAge = parsed['max-age'];
|
|
120
|
+
if (typeof maxAge === 'string' && maxAge.match(/^[0-9]+$/)) {
|
|
121
|
+
hint.maxAge = +maxAge;
|
|
122
|
+
}
|
|
123
|
+
if (parsed['private'] === true) {
|
|
124
|
+
hint.scope = apollo_server_types_1.CacheScope.Private;
|
|
125
|
+
}
|
|
126
|
+
if (parsed['public'] === true) {
|
|
127
|
+
hint.scope = apollo_server_types_1.CacheScope.Public;
|
|
128
|
+
}
|
|
129
|
+
overallCachePolicy.restrict(hint);
|
|
130
|
+
}
|
|
131
|
+
return processedResponse;
|
|
132
|
+
}
|
|
94
133
|
didEncounterError(error, _fetchRequest, _fetchResponse, _context) {
|
|
95
134
|
throw error;
|
|
96
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteGraphQLDataSource.js","sourceRoot":"","sources":["../../src/datasources/RemoteGraphQLDataSource.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"RemoteGraphQLDataSource.js","sourceRoot":"","sources":["../../src/datasources/RemoteGraphQLDataSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { LocalGraphQLDataSource } from './LocalGraphQLDataSource';
|
|
2
2
|
export { RemoteGraphQLDataSource } from './RemoteGraphQLDataSource';
|
|
3
|
-
export { GraphQLDataSource } from './types';
|
|
3
|
+
export { GraphQLDataSource, GraphQLDataSourceProcessOptions } from './types';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datasources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/datasources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseCacheControlHeader.d.ts","sourceRoot":"","sources":["../../src/datasources/parseCacheControlHeader.ts"],"names":[],"mappings":"AA6BA,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAW/B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCacheControlHeader = void 0;
|
|
4
|
+
function parseCacheControlHeader(header) {
|
|
5
|
+
const cc = {};
|
|
6
|
+
if (!header)
|
|
7
|
+
return cc;
|
|
8
|
+
const parts = header.trim().split(/\s*,\s*/);
|
|
9
|
+
for (const part of parts) {
|
|
10
|
+
const [k, v] = part.split(/\s*=\s*/, 2);
|
|
11
|
+
cc[k] = v === undefined ? true : v.replace(/^"|"$/g, '');
|
|
12
|
+
}
|
|
13
|
+
return cc;
|
|
14
|
+
}
|
|
15
|
+
exports.parseCacheControlHeader = parseCacheControlHeader;
|
|
16
|
+
//# sourceMappingURL=parseCacheControlHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseCacheControlHeader.js","sourceRoot":"","sources":["../../src/datasources/parseCacheControlHeader.ts"],"names":[],"mappings":";;;AA6BA,SAAgB,uBAAuB,CACrC,MAAiC;IAEjC,MAAM,EAAE,GAAkC,EAAE,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACxC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KAC1D;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAbD,0DAaC"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import { GraphQLResponse, GraphQLRequestContext } from 'apollo-server-types';
|
|
2
2
|
export interface GraphQLDataSource<TContext extends Record<string, any> = Record<string, any>> {
|
|
3
|
-
process(
|
|
3
|
+
process(options: GraphQLDataSourceProcessOptions<TContext>): Promise<GraphQLResponse>;
|
|
4
4
|
}
|
|
5
|
+
export declare enum GraphQLDataSourceRequestKind {
|
|
6
|
+
INCOMING_OPERATION = "incoming operation",
|
|
7
|
+
HEALTH_CHECK = "health check",
|
|
8
|
+
LOADING_SCHEMA = "loading schema"
|
|
9
|
+
}
|
|
10
|
+
export declare type GraphQLDataSourceProcessOptions<TContext extends Record<string, any> = Record<string, any>> = {
|
|
11
|
+
request: GraphQLRequestContext<TContext>['request'];
|
|
12
|
+
} & ({
|
|
13
|
+
kind: GraphQLDataSourceRequestKind.INCOMING_OPERATION;
|
|
14
|
+
incomingRequestContext: GraphQLRequestContext<TContext>;
|
|
15
|
+
context: GraphQLRequestContext<TContext>['context'];
|
|
16
|
+
} | {
|
|
17
|
+
kind: GraphQLDataSourceRequestKind.HEALTH_CHECK | GraphQLDataSourceRequestKind.LOADING_SCHEMA;
|
|
18
|
+
context: {};
|
|
19
|
+
});
|
|
5
20
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/datasources/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,WAAW,iBAAiB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/datasources/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,WAAW,iBAAiB,CAChC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1D,OAAO,CACL,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B;AAED,oBAAY,4BAA4B;IACtC,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;CAClC;AAED,oBAAY,+BAA+B,CACzC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACxD;IAIF,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CACrD,GAAG,CACA;IACE,IAAI,EAAE,4BAA4B,CAAC,kBAAkB,CAAC;IAMtD,sBAAsB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IASxD,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CACrD,GACD;IACE,IAAI,EACA,4BAA4B,CAAC,YAAY,GACzC,4BAA4B,CAAC,cAAc,CAAC;IAIhD,OAAO,EAAE,EAAE,CAAC;CACb,CACJ,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphQLDataSourceRequestKind = void 0;
|
|
4
|
+
var GraphQLDataSourceRequestKind;
|
|
5
|
+
(function (GraphQLDataSourceRequestKind) {
|
|
6
|
+
GraphQLDataSourceRequestKind["INCOMING_OPERATION"] = "incoming operation";
|
|
7
|
+
GraphQLDataSourceRequestKind["HEALTH_CHECK"] = "health check";
|
|
8
|
+
GraphQLDataSourceRequestKind["LOADING_SCHEMA"] = "loading schema";
|
|
9
|
+
})(GraphQLDataSourceRequestKind = exports.GraphQLDataSourceRequestKind || (exports.GraphQLDataSourceRequestKind = {}));
|
|
3
10
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/datasources/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/datasources/types.ts"],"names":[],"mappings":";;;AAUA,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACtC,yEAAyC,CAAA;IACzC,6DAA6B,CAAA;IAC7B,iEAAiC,CAAA;AACnC,CAAC,EAJW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAIvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeQueryPlan.d.ts","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAKL,oBAAoB,EAIrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"executeQueryPlan.d.ts","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAKL,oBAAoB,EAIrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,SAAS,EAMV,MAAM,uBAAuB,CAAC;AAO/B,oBAAY,UAAU,GAAG;IACvB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC1C,CAAC;AAYF,wBAAsB,gBAAgB,CAAC,QAAQ,EAC7C,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAC/C,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,sBAAsB,CAAC,CAuFjC;AAibD,eAAO,MAAM,oCAAoC,EAAE,oBAAoB,CACrE,GAAG,EACH,GAAG,CAYJ,CAAC"}
|
package/dist/executeQueryPlan.js
CHANGED
|
@@ -5,6 +5,7 @@ const apollo_server_env_1 = require("apollo-server-env");
|
|
|
5
5
|
const graphql_1 = require("graphql");
|
|
6
6
|
const apollo_reporting_protobuf_1 = require("apollo-reporting-protobuf");
|
|
7
7
|
const federation_1 = require("@apollo/federation");
|
|
8
|
+
const types_1 = require("./datasources/types");
|
|
8
9
|
const query_planner_1 = require("@apollo/query-planner");
|
|
9
10
|
const deepMerge_1 = require("./utilities/deepMerge");
|
|
10
11
|
const array_1 = require("./utilities/array");
|
|
@@ -211,11 +212,13 @@ async function executeFetch(context, fetch, results, _path, traceNode) {
|
|
|
211
212
|
traceNode.sentTime = dateToProtoTimestamp(new Date());
|
|
212
213
|
}
|
|
213
214
|
const response = await service.process({
|
|
215
|
+
kind: types_1.GraphQLDataSourceRequestKind.INCOMING_OPERATION,
|
|
214
216
|
request: {
|
|
215
217
|
query: source,
|
|
216
218
|
variables,
|
|
217
219
|
http,
|
|
218
220
|
},
|
|
221
|
+
incomingRequestContext: context.requestContext,
|
|
219
222
|
context: context.requestContext.context,
|
|
220
223
|
});
|
|
221
224
|
if (response.errors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeQueryPlan.js","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executeQueryPlan.js","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,sBAAsB,EAEtB,sCAAsC,EACvC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,aAAa,EAKd,MAAM,SAAS,CAAC;AAQjB,OAAO,EAAE,qBAAqB,EAAoB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,sBAAsB,EAEtB,sCAAsC,EACvC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,aAAa,EAKd,MAAM,SAAS,CAAC;AAQjB,OAAO,EAAE,qBAAqB,EAAoB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AAYtF,OAAO,EACL,yBAAyB,EACzB,uCAAuC,EACvC,wCAAwC,EACxC,yCAAyC,EACzC,8BAA8B,EAC9B,eAAe,EACf,aAAa,EAEb,mBAAmB,EACnB,oBAAoB,EAYpB,iBAAiB,EAGlB,MAAM,UAAU,CAAC;AAOlB,aAAK,aAAa,GAAG;IACnB,CAAC,WAAW,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,iBAAiB,CAAA;KAAE,CAAC;CACxE,CAAC;AAWF,wBAAgB,iBAAiB;;EAsBhC;AAMD,eAAO,MAAM,oBAAoB,0BAAoB,CAAC;AAKtD,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,eAAO,MAAM,kBAAkB,sDACsB,CAAC;AACtD,eAAO,MAAM,wBAAwB,8DACwB,CAAC;AA2B9D,UAAU,sBAAsB;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,UAAU,0BAA0B;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,cAAc;IAC3C,MAAM,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,6BAA6B,CAKjC;IACJ,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,mBAAmB,CAAC,CAAe;IAC3C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,KAAK,CAAe;IAK5B,OAAO,CAAC,gCAAgC,CAAC,CAA2C;IAIpF,OAAO,CAAC,+BAA+B,CAAC,CAA0C;IAGlF,OAAO,CAAC,iCAAiC,CAAC,CAA4C;IAGtF,OAAO,CAAC,wBAAwB,CAAiC;IAEjE,OAAO,CAAC,yBAAyB,CAAC,CAAS;IAM3C,OAAO,CAAC,4BAA4B,CAAC,CAAgB;gBAEzC,MAAM,CAAC,EAAE,aAAa;IAiElC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,gCAAgC;IAwC3B,IAAI,CAAC,OAAO,CAAC,EAAE;QAC1B,MAAM,CAAC,EAAE,sBAAsB,CAAC;QAChC,MAAM,CAAC,EAAE,0BAA0B,CAAC;KACrC;;;;IA8ED,OAAO,CAAC,UAAU;YAmBJ,WAAW;IAczB,OAAO,CAAC,kBAAkB;YAIZ,YAAY;YAiBZ,mBAAmB;YA0DnB,uBAAuB;IA6DrC,OAAO,CAAC,yBAAyB;YA0CnB,8BAA8B;IAiDrC,kBAAkB,CAAC,UAAU,GAAE,aAA+B;;;;IAiBrE,OAAO,CAAC,2BAA2B;IA6CnC,OAAO,CAAC,4BAA4B;IAOpC,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,6BAA6B;IAmB9B,cAAc,CACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GACxC,YAAY;IAQR,oBAAoB,CACzB,QAAQ,EAAE,CAAC,aAAa,EAAE;QACxB,SAAS,EAAE,aAAa,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,KAAK,IAAI,GACT,YAAY;YAWD,YAAY;IA2E1B,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;cAMN,sBAAsB,CACpC,MAAM,EAAE,mBAAmB,GAAG,oBAAoB,GACjD,OAAO,CAAC,iBAAiB,CAAC;IAiD7B,OAAO,CAAC,4BAA4B;IA+B7B,QAAQ,kFAEZ,QAAQ,sBAAsB,CAAC,CAsJhC;IAEF,OAAO,CAAC,uBAAuB;IAkClB,IAAI;CAwDlB;AAmCD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,uCAAuC,EACvC,wCAAwC,EACxC,yCAAyC,EACzC,8BAA8B,EAC9B,aAAa,EACb,yBAAyB,EACzB,eAAe,GAChB,CAAC;AAEF,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "buildOperationContext", { enumerable: true, get:
|
|
|
23
23
|
const executeQueryPlan_1 = require("./executeQueryPlan");
|
|
24
24
|
Object.defineProperty(exports, "executeQueryPlan", { enumerable: true, get: function () { return executeQueryPlan_1.executeQueryPlan; } });
|
|
25
25
|
const loadServicesFromRemoteEndpoint_1 = require("./loadServicesFromRemoteEndpoint");
|
|
26
|
+
const types_1 = require("./datasources/types");
|
|
26
27
|
const RemoteGraphQLDataSource_1 = require("./datasources/RemoteGraphQLDataSource");
|
|
27
28
|
const values_1 = require("graphql/execution/values");
|
|
28
29
|
const make_fetch_happen_1 = __importDefault(require("make-fetch-happen"));
|
|
@@ -67,7 +68,10 @@ class ApolloGateway {
|
|
|
67
68
|
this.serviceSdlCache = new Map();
|
|
68
69
|
this.warnedStates = Object.create(null);
|
|
69
70
|
this.executor = async (requestContext) => {
|
|
70
|
-
|
|
71
|
+
const spanAttributes = requestContext.operationName
|
|
72
|
+
? { operationName: requestContext.operationName }
|
|
73
|
+
: {};
|
|
74
|
+
return opentelemetry_1.tracer.startActiveSpan(opentelemetry_1.OpenTelemetrySpanNames.REQUEST, { attributes: spanAttributes }, async (span) => {
|
|
71
75
|
try {
|
|
72
76
|
const { request, document, queryHash } = requestContext;
|
|
73
77
|
const queryPlanStoreKey = queryHash + (request.operationName || '');
|
|
@@ -448,7 +452,11 @@ class ApolloGateway {
|
|
|
448
452
|
}
|
|
449
453
|
serviceHealthCheck(serviceMap = this.serviceMap) {
|
|
450
454
|
return Promise.all(Object.entries(serviceMap).map(([name, { dataSource }]) => dataSource
|
|
451
|
-
.process({
|
|
455
|
+
.process({
|
|
456
|
+
kind: types_1.GraphQLDataSourceRequestKind.HEALTH_CHECK,
|
|
457
|
+
request: { query: exports.HEALTH_CHECK_QUERY },
|
|
458
|
+
context: {},
|
|
459
|
+
})
|
|
452
460
|
.then((response) => ({ name, response }))
|
|
453
461
|
.catch((e) => {
|
|
454
462
|
throw new Error(`[${name}]: ${e.message}`);
|