@apollo/gateway 2.4.3 → 2.4.4
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/package.json +4 -4
- package/src/dataRewrites.ts +1 -1
- package/src/supergraphManagers/UplinkSupergraphManager/__tests__/loadSupergraphSdlFromStorage.test.ts +1 -3
- package/dist/__generated__/graphqlTypes.d.ts +0 -160
- package/dist/__generated__/graphqlTypes.d.ts.map +0 -1
- package/dist/__generated__/graphqlTypes.js +0 -30
- package/dist/__generated__/graphqlTypes.js.map +0 -1
- package/dist/config.d.ts +0 -138
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -60
- package/dist/config.js.map +0 -1
- package/dist/dataRewrites.d.ts +0 -5
- package/dist/dataRewrites.d.ts.map +0 -1
- package/dist/dataRewrites.js +0 -103
- package/dist/dataRewrites.js.map +0 -1
- package/dist/datasources/LocalGraphQLDataSource.d.ts +0 -10
- package/dist/datasources/LocalGraphQLDataSource.d.ts.map +0 -1
- package/dist/datasources/LocalGraphQLDataSource.js +0 -31
- package/dist/datasources/LocalGraphQLDataSource.js.map +0 -1
- package/dist/datasources/RemoteGraphQLDataSource.d.ts +0 -24
- package/dist/datasources/RemoteGraphQLDataSource.d.ts.map +0 -1
- package/dist/datasources/RemoteGraphQLDataSource.js +0 -180
- package/dist/datasources/RemoteGraphQLDataSource.js.map +0 -1
- package/dist/datasources/index.d.ts +0 -4
- package/dist/datasources/index.d.ts.map +0 -1
- package/dist/datasources/index.js +0 -8
- package/dist/datasources/index.js.map +0 -1
- package/dist/datasources/parseCacheControlHeader.d.ts +0 -2
- package/dist/datasources/parseCacheControlHeader.d.ts.map +0 -1
- package/dist/datasources/parseCacheControlHeader.js +0 -16
- package/dist/datasources/parseCacheControlHeader.js.map +0 -1
- package/dist/datasources/types.d.ts +0 -23
- package/dist/datasources/types.d.ts.map +0 -1
- package/dist/datasources/types.js +0 -10
- package/dist/datasources/types.js.map +0 -1
- package/dist/executeQueryPlan.d.ts +0 -15
- package/dist/executeQueryPlan.d.ts.map +0 -1
- package/dist/executeQueryPlan.js +0 -539
- package/dist/executeQueryPlan.js.map +0 -1
- package/dist/index.d.ts +0 -113
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -590
- package/dist/index.js.map +0 -1
- package/dist/logger.d.ts +0 -3
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -15
- package/dist/logger.js.map +0 -1
- package/dist/operationContext.d.ts +0 -17
- package/dist/operationContext.d.ts.map +0 -1
- package/dist/operationContext.js +0 -38
- package/dist/operationContext.js.map +0 -1
- package/dist/resultShaping.d.ts +0 -12
- package/dist/resultShaping.d.ts.map +0 -1
- package/dist/resultShaping.js +0 -229
- package/dist/resultShaping.js.map +0 -1
- package/dist/schema-helper/addExtensions.d.ts +0 -3
- package/dist/schema-helper/addExtensions.d.ts.map +0 -1
- package/dist/schema-helper/addExtensions.js +0 -23
- package/dist/schema-helper/addExtensions.js.map +0 -1
- package/dist/supergraphManagers/IntrospectAndCompose/index.d.ts +0 -31
- package/dist/supergraphManagers/IntrospectAndCompose/index.d.ts.map +0 -1
- package/dist/supergraphManagers/IntrospectAndCompose/index.js +0 -112
- package/dist/supergraphManagers/IntrospectAndCompose/index.js.map +0 -1
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts +0 -12
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.d.ts.map +0 -1
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.js +0 -57
- package/dist/supergraphManagers/IntrospectAndCompose/loadServicesFromRemoteEndpoint.js.map +0 -1
- package/dist/supergraphManagers/LegacyFetcher/index.d.ts +0 -33
- package/dist/supergraphManagers/LegacyFetcher/index.d.ts.map +0 -1
- package/dist/supergraphManagers/LegacyFetcher/index.js +0 -149
- package/dist/supergraphManagers/LegacyFetcher/index.js.map +0 -1
- package/dist/supergraphManagers/LocalCompose/index.d.ts +0 -19
- package/dist/supergraphManagers/LocalCompose/index.d.ts.map +0 -1
- package/dist/supergraphManagers/LocalCompose/index.js +0 -55
- package/dist/supergraphManagers/LocalCompose/index.js.map +0 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts +0 -63
- package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts.map +0 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/index.js +0 -210
- package/dist/supergraphManagers/UplinkSupergraphManager/index.js.map +0 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts +0 -30
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts.map +0 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js +0 -145
- package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js.map +0 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts +0 -14
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts.map +0 -1
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.js +0 -85
- package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.js.map +0 -1
- package/dist/supergraphManagers/index.d.ts +0 -6
- package/dist/supergraphManagers/index.d.ts.map +0 -1
- package/dist/supergraphManagers/index.js +0 -27
- package/dist/supergraphManagers/index.js.map +0 -1
- package/dist/typings/graphql.d.ts +0 -11
- package/dist/typings/graphql.d.ts.map +0 -1
- package/dist/typings/graphql.js +0 -3
- package/dist/typings/graphql.js.map +0 -1
- package/dist/utilities/array.d.ts +0 -5
- package/dist/utilities/array.d.ts.map +0 -1
- package/dist/utilities/array.js +0 -46
- package/dist/utilities/array.js.map +0 -1
- package/dist/utilities/assert.d.ts +0 -2
- package/dist/utilities/assert.d.ts.map +0 -1
- package/dist/utilities/assert.js +0 -10
- package/dist/utilities/assert.js.map +0 -1
- package/dist/utilities/deepMerge.d.ts +0 -2
- package/dist/utilities/deepMerge.d.ts.map +0 -1
- package/dist/utilities/deepMerge.js +0 -34
- package/dist/utilities/deepMerge.js.map +0 -1
- package/dist/utilities/graphql.d.ts +0 -5
- package/dist/utilities/graphql.d.ts.map +0 -1
- package/dist/utilities/graphql.js +0 -28
- package/dist/utilities/graphql.js.map +0 -1
- package/dist/utilities/opentelemetry.d.ts +0 -10
- package/dist/utilities/opentelemetry.d.ts.map +0 -1
- package/dist/utilities/opentelemetry.js +0 -19
- package/dist/utilities/opentelemetry.js.map +0 -1
- package/dist/utilities/predicates.d.ts +0 -2
- package/dist/utilities/predicates.d.ts.map +0 -1
- package/dist/utilities/predicates.js +0 -11
- package/dist/utilities/predicates.js.map +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { GraphQLDataSource, GraphQLDataSourceProcessOptions } from './types';
|
|
2
|
-
import { ResponsePath } from '@apollo/query-planner';
|
|
3
|
-
import { Request as NodeFetchRequest } from 'node-fetch';
|
|
4
|
-
import { Fetcher, FetcherResponse } from '@apollo/utils.fetcher';
|
|
5
|
-
import { GraphQLError } from 'graphql';
|
|
6
|
-
import { GatewayGraphQLRequestContext, GatewayGraphQLResponse } from '@apollo/server-gateway-interface';
|
|
7
|
-
export declare class RemoteGraphQLDataSource<TContext extends Record<string, any> = Record<string, any>> implements GraphQLDataSource<TContext> {
|
|
8
|
-
fetcher: Fetcher;
|
|
9
|
-
constructor(config?: Partial<RemoteGraphQLDataSource<TContext>> & object & ThisType<RemoteGraphQLDataSource<TContext>>);
|
|
10
|
-
url: string;
|
|
11
|
-
apq: boolean;
|
|
12
|
-
honorSubgraphCacheControlHeader: boolean;
|
|
13
|
-
process(options: GraphQLDataSourceProcessOptions<TContext>): Promise<GatewayGraphQLResponse>;
|
|
14
|
-
private sendRequest;
|
|
15
|
-
willSendRequest?(options: GraphQLDataSourceProcessOptions<TContext>): void | Promise<void>;
|
|
16
|
-
private respond;
|
|
17
|
-
didReceiveResponse?(requestContext: Required<Pick<GatewayGraphQLRequestContext<TContext>, 'request' | 'response' | 'context'>> & {
|
|
18
|
-
pathInIncomingRequest?: ResponsePath;
|
|
19
|
-
}): GatewayGraphQLResponse | Promise<GatewayGraphQLResponse>;
|
|
20
|
-
didEncounterError(error: Error, _fetchRequest: NodeFetchRequest, _fetchResponse?: FetcherResponse, _context?: TContext): void;
|
|
21
|
-
parseBody(fetchResponse: FetcherResponse, _fetchRequest?: NodeFetchRequest, _context?: TContext): Promise<object | string>;
|
|
22
|
-
errorFromResponse(response: FetcherResponse): Promise<GraphQLError>;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=RemoteGraphQLDataSource.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteGraphQLDataSource.d.ts","sourceRoot":"","sources":["../../src/datasources/RemoteGraphQLDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAgC,MAAM,SAAS,CAAC;AAE3G,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAA+B,OAAO,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,OAAO,EAAsB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,YAAY,EAA0B,MAAM,SAAS,CAAC;AAC/D,OAAO,EAA+D,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAErK,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,CAAC;gBAGf,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,GACjD,MAAM,GACN,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAkB/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,sBAAsB,CAAC;YAyGpB,WAAW;IAsDlB,eAAe,CAAC,CACrB,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAET,OAAO;IA4Cd,kBAAkB,CAAC,CACxB,cAAc,EAAE,QAAQ,CACtB,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CACjF,GAAG;QAAE,qBAAqB,CAAC,EAAE,YAAY,CAAA;KAAE,GAC3C,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAEpD,iBAAiB,CACtB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,gBAAgB,EAC/B,cAAc,CAAC,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,QAAQ;IAKd,SAAS,CACd,aAAa,EAAE,eAAe,EAC9B,aAAa,CAAC,EAAE,gBAAgB,EAChC,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IASd,iBAAiB,CAAC,QAAQ,EAAE,eAAe;CAsBzD"}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RemoteGraphQLDataSource = void 0;
|
|
7
|
-
const predicates_1 = require("../utilities/predicates");
|
|
8
|
-
const types_1 = require("./types");
|
|
9
|
-
const utils_createhash_1 = require("@apollo/utils.createhash");
|
|
10
|
-
const parseCacheControlHeader_1 = require("./parseCacheControlHeader");
|
|
11
|
-
const make_fetch_happen_1 = __importDefault(require("make-fetch-happen"));
|
|
12
|
-
const node_fetch_1 = require("node-fetch");
|
|
13
|
-
const graphql_1 = require("graphql");
|
|
14
|
-
class RemoteGraphQLDataSource {
|
|
15
|
-
constructor(config) {
|
|
16
|
-
this.apq = false;
|
|
17
|
-
this.honorSubgraphCacheControlHeader = true;
|
|
18
|
-
this.fetcher = make_fetch_happen_1.default.defaults({
|
|
19
|
-
maxSockets: Infinity,
|
|
20
|
-
retry: false,
|
|
21
|
-
});
|
|
22
|
-
if (config) {
|
|
23
|
-
return Object.assign(this, config);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
async process(options) {
|
|
27
|
-
var _a;
|
|
28
|
-
const { request, context: originalContext } = options;
|
|
29
|
-
const pathInIncomingRequest = options.kind === types_1.GraphQLDataSourceRequestKind.INCOMING_OPERATION
|
|
30
|
-
? options.pathInIncomingRequest
|
|
31
|
-
: undefined;
|
|
32
|
-
const context = originalContext;
|
|
33
|
-
const headers = new node_fetch_1.Headers();
|
|
34
|
-
if ((_a = request.http) === null || _a === void 0 ? void 0 : _a.headers) {
|
|
35
|
-
for (const [name, value] of request.http.headers) {
|
|
36
|
-
headers.append(name, value);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
headers.set('Content-Type', 'application/json');
|
|
40
|
-
request.http = {
|
|
41
|
-
method: 'POST',
|
|
42
|
-
url: this.url,
|
|
43
|
-
headers,
|
|
44
|
-
};
|
|
45
|
-
if (this.willSendRequest) {
|
|
46
|
-
await this.willSendRequest(options);
|
|
47
|
-
}
|
|
48
|
-
if (!request.query) {
|
|
49
|
-
throw new Error('Missing query');
|
|
50
|
-
}
|
|
51
|
-
const { query, ...requestWithoutQuery } = request;
|
|
52
|
-
const overallCachePolicy = this.honorSubgraphCacheControlHeader &&
|
|
53
|
-
options.kind === types_1.GraphQLDataSourceRequestKind.INCOMING_OPERATION &&
|
|
54
|
-
options.incomingRequestContext.overallCachePolicy &&
|
|
55
|
-
'restrict' in options.incomingRequestContext.overallCachePolicy
|
|
56
|
-
? options.incomingRequestContext.overallCachePolicy
|
|
57
|
-
: null;
|
|
58
|
-
if (this.apq) {
|
|
59
|
-
const apqHash = (0, utils_createhash_1.createHash)('sha256').update(request.query).digest('hex');
|
|
60
|
-
requestWithoutQuery.extensions = {
|
|
61
|
-
...request.extensions,
|
|
62
|
-
persistedQuery: {
|
|
63
|
-
version: 1,
|
|
64
|
-
sha256Hash: apqHash,
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
const apqOptimisticResponse = await this.sendRequest(requestWithoutQuery, context);
|
|
68
|
-
if (!apqOptimisticResponse.errors ||
|
|
69
|
-
!apqOptimisticResponse.errors.find((error) => error.message === 'PersistedQueryNotFound')) {
|
|
70
|
-
return this.respond({
|
|
71
|
-
response: apqOptimisticResponse,
|
|
72
|
-
request: requestWithoutQuery,
|
|
73
|
-
context,
|
|
74
|
-
overallCachePolicy,
|
|
75
|
-
pathInIncomingRequest
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
const requestWithQuery = {
|
|
80
|
-
query,
|
|
81
|
-
...requestWithoutQuery,
|
|
82
|
-
};
|
|
83
|
-
const response = await this.sendRequest(requestWithQuery, context);
|
|
84
|
-
return this.respond({
|
|
85
|
-
response,
|
|
86
|
-
request: requestWithQuery,
|
|
87
|
-
context,
|
|
88
|
-
overallCachePolicy,
|
|
89
|
-
pathInIncomingRequest
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
async sendRequest(request, context) {
|
|
93
|
-
if (!request.http) {
|
|
94
|
-
throw new Error("Internal error: Only 'http' requests are supported.");
|
|
95
|
-
}
|
|
96
|
-
const { http, ...requestWithoutHttp } = request;
|
|
97
|
-
const stringifiedRequestWithoutHttp = JSON.stringify(requestWithoutHttp);
|
|
98
|
-
const requestInit = {
|
|
99
|
-
method: http.method,
|
|
100
|
-
headers: Object.fromEntries(http.headers),
|
|
101
|
-
body: stringifiedRequestWithoutHttp,
|
|
102
|
-
};
|
|
103
|
-
const fetchRequest = new node_fetch_1.Request(http.url, requestInit);
|
|
104
|
-
let fetchResponse;
|
|
105
|
-
try {
|
|
106
|
-
fetchResponse = await this.fetcher(http.url, requestInit);
|
|
107
|
-
if (!fetchResponse.ok) {
|
|
108
|
-
throw await this.errorFromResponse(fetchResponse);
|
|
109
|
-
}
|
|
110
|
-
const body = await this.parseBody(fetchResponse, fetchRequest, context);
|
|
111
|
-
if (!(0, predicates_1.isObject)(body)) {
|
|
112
|
-
throw new Error(`Expected JSON response body, but received: ${body}`);
|
|
113
|
-
}
|
|
114
|
-
return {
|
|
115
|
-
...body,
|
|
116
|
-
http: fetchResponse,
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
this.didEncounterError(error, fetchRequest, fetchResponse, context);
|
|
121
|
-
throw error;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
async respond({ response, request, context, overallCachePolicy, pathInIncomingRequest }) {
|
|
125
|
-
var _a;
|
|
126
|
-
const processedResponse = typeof this.didReceiveResponse === 'function'
|
|
127
|
-
? await this.didReceiveResponse({ response, request, context, pathInIncomingRequest })
|
|
128
|
-
: response;
|
|
129
|
-
if (overallCachePolicy) {
|
|
130
|
-
const parsed = (0, parseCacheControlHeader_1.parseCacheControlHeader)((_a = response.http) === null || _a === void 0 ? void 0 : _a.headers.get('cache-control'));
|
|
131
|
-
const hint = { maxAge: 0 };
|
|
132
|
-
const maxAge = parsed['max-age'];
|
|
133
|
-
if (typeof maxAge === 'string' && maxAge.match(/^[0-9]+$/)) {
|
|
134
|
-
hint.maxAge = +maxAge;
|
|
135
|
-
}
|
|
136
|
-
if (parsed['private'] === true) {
|
|
137
|
-
hint.scope = 'PRIVATE';
|
|
138
|
-
}
|
|
139
|
-
if (parsed['public'] === true) {
|
|
140
|
-
hint.scope = 'PUBLIC';
|
|
141
|
-
}
|
|
142
|
-
overallCachePolicy.restrict(hint);
|
|
143
|
-
}
|
|
144
|
-
return processedResponse;
|
|
145
|
-
}
|
|
146
|
-
didEncounterError(error, _fetchRequest, _fetchResponse, _context) {
|
|
147
|
-
throw error;
|
|
148
|
-
}
|
|
149
|
-
parseBody(fetchResponse, _fetchRequest, _context) {
|
|
150
|
-
const contentType = fetchResponse.headers.get('Content-Type');
|
|
151
|
-
if (contentType && contentType.startsWith('application/json')) {
|
|
152
|
-
return fetchResponse.json();
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
return fetchResponse.text();
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
async errorFromResponse(response) {
|
|
159
|
-
const body = await this.parseBody(response);
|
|
160
|
-
const extensions = {
|
|
161
|
-
response: {
|
|
162
|
-
url: response.url,
|
|
163
|
-
status: response.status,
|
|
164
|
-
statusText: response.statusText,
|
|
165
|
-
body,
|
|
166
|
-
},
|
|
167
|
-
};
|
|
168
|
-
if (response.status === 401) {
|
|
169
|
-
extensions.code = 'UNAUTHENTICATED';
|
|
170
|
-
}
|
|
171
|
-
else if (response.status === 403) {
|
|
172
|
-
extensions.code = 'FORBIDDEN';
|
|
173
|
-
}
|
|
174
|
-
return new graphql_1.GraphQLError(`${response.status}: ${response.statusText}`, {
|
|
175
|
-
extensions,
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
exports.RemoteGraphQLDataSource = RemoteGraphQLDataSource;
|
|
180
|
-
//# sourceMappingURL=RemoteGraphQLDataSource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteGraphQLDataSource.js","sourceRoot":"","sources":["../../src/datasources/RemoteGraphQLDataSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RemoteGraphQLDataSource = exports.LocalGraphQLDataSource = void 0;
|
|
4
|
-
var LocalGraphQLDataSource_1 = require("./LocalGraphQLDataSource");
|
|
5
|
-
Object.defineProperty(exports, "LocalGraphQLDataSource", { enumerable: true, get: function () { return LocalGraphQLDataSource_1.LocalGraphQLDataSource; } });
|
|
6
|
-
var RemoteGraphQLDataSource_1 = require("./RemoteGraphQLDataSource");
|
|
7
|
-
Object.defineProperty(exports, "RemoteGraphQLDataSource", { enumerable: true, get: function () { return RemoteGraphQLDataSource_1.RemoteGraphQLDataSource; } });
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/datasources/index.ts"],"names":[],"mappings":";;;AAAA,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,23 +0,0 @@
|
|
|
1
|
-
import { ResponsePath } from '@apollo/query-planner';
|
|
2
|
-
import { GatewayGraphQLResponse, GatewayGraphQLRequestContext } from '@apollo/server-gateway-interface';
|
|
3
|
-
export interface GraphQLDataSource<TContext extends Record<string, any> = Record<string, any>> {
|
|
4
|
-
process(options: GraphQLDataSourceProcessOptions<TContext>): Promise<GatewayGraphQLResponse>;
|
|
5
|
-
}
|
|
6
|
-
export declare enum GraphQLDataSourceRequestKind {
|
|
7
|
-
INCOMING_OPERATION = "incoming operation",
|
|
8
|
-
HEALTH_CHECK = "health check",
|
|
9
|
-
LOADING_SCHEMA = "loading schema"
|
|
10
|
-
}
|
|
11
|
-
export type GraphQLDataSourceProcessOptions<TContext extends Record<string, any> = Record<string, any>> = {
|
|
12
|
-
request: GatewayGraphQLRequestContext<TContext>['request'];
|
|
13
|
-
} & ({
|
|
14
|
-
kind: GraphQLDataSourceRequestKind.INCOMING_OPERATION;
|
|
15
|
-
incomingRequestContext: GatewayGraphQLRequestContext<TContext>;
|
|
16
|
-
context: GatewayGraphQLRequestContext<TContext>['context'];
|
|
17
|
-
document?: GatewayGraphQLRequestContext<TContext>['document'];
|
|
18
|
-
pathInIncomingRequest?: ResponsePath;
|
|
19
|
-
} | {
|
|
20
|
-
kind: GraphQLDataSourceRequestKind.HEALTH_CHECK | GraphQLDataSourceRequestKind.LOADING_SCHEMA;
|
|
21
|
-
context: Record<string, any>;
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/datasources/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAExG,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,sBAAsB,CAAC,CAAC;CACpC;AAED,oBAAY,4BAA4B;IACtC,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;CAClC;AAED,MAAM,MAAM,+BAA+B,CACzC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACxD;IAIF,OAAO,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5D,GAAG,CACA;IACE,IAAI,EAAE,4BAA4B,CAAC,kBAAkB,CAAC;IAMtD,sBAAsB,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAS/D,OAAO,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IAQ3D,QAAQ,CAAC,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAM9D,qBAAqB,CAAC,EAAE,YAAY,CAAC;CACtC,GACD;IACE,IAAI,EACA,4BAA4B,CAAC,YAAY,GACzC,4BAA4B,CAAC,cAAc,CAAC;IAIhD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,CACJ,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
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 = {}));
|
|
10
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/datasources/types.ts"],"names":[],"mappings":";;;AAWA,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACtC,yEAAyC,CAAA;IACzC,6DAA6B,CAAA;IAC7B,iEAAiC,CAAA;AACnC,CAAC,EAJW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAIvC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { GraphQLFieldResolver, GraphQLSchema } from 'graphql';
|
|
2
|
-
import { GraphQLDataSource } from './datasources/types';
|
|
3
|
-
import { OperationContext } from './operationContext';
|
|
4
|
-
import { QueryPlan, ResponsePath } from '@apollo/query-planner';
|
|
5
|
-
import { Schema } from '@apollo/federation-internals';
|
|
6
|
-
import { GatewayGraphQLRequestContext, GatewayExecutionResult } from '@apollo/server-gateway-interface';
|
|
7
|
-
export type ServiceMap = {
|
|
8
|
-
[serviceName: string]: GraphQLDataSource;
|
|
9
|
-
};
|
|
10
|
-
type ResultMap = Record<string, any>;
|
|
11
|
-
export declare function executeQueryPlan(queryPlan: QueryPlan, serviceMap: ServiceMap, requestContext: GatewayGraphQLRequestContext, operationContext: OperationContext, supergraphSchema: GraphQLSchema, apiSchema: Schema): Promise<GatewayExecutionResult>;
|
|
12
|
-
export declare function generateHydratedPaths(parent: ResponsePath, path: ResponsePath, data: ResultMap | null, result: ResponsePath[]): void;
|
|
13
|
-
export declare const defaultFieldResolverWithAliasSupport: GraphQLFieldResolver<any, any>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=executeQueryPlan.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executeQueryPlan.d.ts","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,oBAAoB,EAEpB,aAAa,EASd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,SAAS,EACT,YAAY,EAKb,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAmF,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACvI,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAIxG,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC1C,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAsFrC,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,4BAA4B,EAC5C,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,aAAa,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC,CA8JjC;AA4ZD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,MAAM,EAAE,YAAY,EAAE,QAmCvB;AAuID,eAAO,MAAM,oCAAoC,EAAE,oBAAoB,CACrE,GAAG,EACH,GAAG,CAYJ,CAAC"}
|