grafserv 0.0.1-0.2 → 0.0.1-0.21
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 +220 -0
- package/README.md +248 -3
- package/dist/accept.d.ts +8 -0
- package/dist/accept.d.ts.map +1 -0
- package/dist/accept.js +419 -0
- package/dist/accept.js.map +1 -0
- package/dist/core/base.d.ts +38 -0
- package/dist/core/base.d.ts.map +1 -0
- package/dist/core/base.js +440 -0
- package/dist/core/base.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +176 -23
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +2 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/mapIterator.d.ts +2 -0
- package/dist/mapIterator.d.ts.map +1 -0
- package/dist/mapIterator.js +65 -0
- package/dist/mapIterator.js.map +1 -0
- package/dist/middleware/graphiql.d.ts +3 -3
- package/dist/middleware/graphiql.d.ts.map +1 -1
- package/dist/middleware/graphiql.js +14 -4
- package/dist/middleware/graphiql.js.map +1 -1
- package/dist/middleware/graphql.d.ts +8 -3
- package/dist/middleware/graphql.d.ts.map +1 -1
- package/dist/middleware/graphql.js +325 -23
- package/dist/middleware/graphql.js.map +1 -1
- package/dist/options.d.ts +23 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +114 -0
- package/dist/options.js.map +1 -0
- package/dist/servers/express/v4/index.d.ts +24 -0
- package/dist/servers/express/v4/index.d.ts.map +1 -0
- package/dist/servers/express/v4/index.js +62 -0
- package/dist/servers/express/v4/index.js.map +1 -0
- package/dist/servers/fastify/v4/index.d.ts +21 -0
- package/dist/servers/fastify/v4/index.d.ts.map +1 -0
- package/dist/servers/fastify/v4/index.js +198 -0
- package/dist/servers/fastify/v4/index.js.map +1 -0
- package/dist/servers/koa/v2/index.d.ts +25 -0
- package/dist/servers/koa/v2/index.d.ts.map +1 -0
- package/dist/servers/koa/v2/index.js +137 -0
- package/dist/servers/koa/v2/index.js.map +1 -0
- package/dist/servers/node/index.d.ts +32 -0
- package/dist/servers/node/index.d.ts.map +1 -0
- package/dist/servers/node/index.js +269 -0
- package/dist/servers/node/index.js.map +1 -0
- package/dist/utils.d.ts +19 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +145 -0
- package/dist/utils.js.map +1 -0
- package/package.json +42 -8
- package/dist/middleware/index.d.ts +0 -12
- package/dist/middleware/index.d.ts.map +0 -1
- package/dist/middleware/index.js +0 -431
- package/dist/middleware/index.js.map +0 -1
- package/dist/middleware/interfaces.d.ts +0 -40
- package/dist/middleware/interfaces.d.ts.map +0 -1
- package/dist/middleware/interfaces.js +0 -3
- package/dist/middleware/interfaces.js.map +0 -1
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeGraphQLHandler = void 0;
|
|
3
|
+
exports.makeGraphQLHandler = exports.TEXT_HTML = exports.APPLICATION_GRAPHQL_RESPONSE_JSON = exports.APPLICATION_JSON = void 0;
|
|
4
4
|
const lru_1 = require("@graphile/lru");
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
6
|
const grafast_1 = require("grafast");
|
|
7
7
|
const graphql_1 = require("graphql");
|
|
8
|
+
const node_querystring_1 = require("node:querystring");
|
|
9
|
+
const accept_js_1 = require("../accept.js");
|
|
10
|
+
const interfaces_js_1 = require("../interfaces.js");
|
|
11
|
+
const utils_js_1 = require("../utils.js");
|
|
12
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
8
13
|
let lastString;
|
|
9
14
|
let lastHash;
|
|
10
15
|
const calculateQueryHash = (queryString) => {
|
|
@@ -58,28 +63,303 @@ function makeParseAndValidateFunction(schema) {
|
|
|
58
63
|
}
|
|
59
64
|
return parseAndValidate;
|
|
60
65
|
}
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
function processAndValidateQueryParams(params) {
|
|
67
|
+
const query = params.query;
|
|
68
|
+
if (typeof query !== "string") {
|
|
69
|
+
throw (0, utils_js_1.httpError)(400, "query must be a string");
|
|
70
|
+
}
|
|
71
|
+
const operationName = params.operationName ?? undefined;
|
|
72
|
+
if (operationName != null && typeof operationName !== "string") {
|
|
73
|
+
throw (0, utils_js_1.httpError)(400, "operationName, if given, must be a string");
|
|
74
|
+
}
|
|
75
|
+
const variablesString = params.variables ?? undefined;
|
|
76
|
+
const variableValues = typeof variablesString === "string"
|
|
77
|
+
? JSON.parse(variablesString)
|
|
78
|
+
: undefined;
|
|
79
|
+
if (variableValues != null &&
|
|
80
|
+
(typeof variableValues !== "object" || Array.isArray(variableValues))) {
|
|
81
|
+
throw (0, utils_js_1.httpError)(400, "Invalid variables; expected JSON-encoded object");
|
|
82
|
+
}
|
|
83
|
+
const extensionsString = params.extensions ?? undefined;
|
|
84
|
+
const extensions = typeof extensionsString === "string"
|
|
85
|
+
? JSON.parse(extensionsString)
|
|
86
|
+
: undefined;
|
|
87
|
+
if (extensions != null &&
|
|
88
|
+
(typeof extensions !== "object" || Array.isArray(extensions))) {
|
|
89
|
+
throw (0, utils_js_1.httpError)(400, "Invalid extensions; expected JSON-encoded object");
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
query,
|
|
93
|
+
operationName,
|
|
94
|
+
variableValues,
|
|
95
|
+
extensions,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
function processAndValidateJSON(params) {
|
|
99
|
+
if (!params) {
|
|
100
|
+
throw (0, utils_js_1.httpError)(400, "No body");
|
|
101
|
+
}
|
|
102
|
+
if (typeof params !== "object" || Array.isArray(params)) {
|
|
103
|
+
throw (0, utils_js_1.httpError)(400, "Invalid body; expected object");
|
|
104
|
+
}
|
|
105
|
+
const query = params.query;
|
|
106
|
+
if (typeof query !== "string") {
|
|
107
|
+
throw (0, utils_js_1.httpError)(400, "query must be a string");
|
|
108
|
+
}
|
|
109
|
+
const operationName = params.operationName ?? undefined;
|
|
110
|
+
if (operationName != null && typeof operationName !== "string") {
|
|
111
|
+
throw (0, utils_js_1.httpError)(400, "operationName, if given, must be a string");
|
|
112
|
+
}
|
|
113
|
+
const variableValues = params.variables ?? undefined;
|
|
114
|
+
if (variableValues != null &&
|
|
115
|
+
(typeof variableValues !== "object" || Array.isArray(variableValues))) {
|
|
116
|
+
throw (0, utils_js_1.httpError)(400, "Invalid variables; expected JSON-encoded object");
|
|
117
|
+
}
|
|
118
|
+
const extensions = params.extensions ?? undefined;
|
|
119
|
+
if (extensions != null &&
|
|
120
|
+
(typeof extensions !== "object" || Array.isArray(extensions))) {
|
|
121
|
+
throw (0, utils_js_1.httpError)(400, "Invalid extensions; expected JSON-encoded object");
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
query,
|
|
125
|
+
operationName,
|
|
126
|
+
variableValues,
|
|
127
|
+
extensions,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
function processAndValidateBody(request, body) {
|
|
131
|
+
const contentType = request[interfaces_js_1.$$normalizedHeaders]["content-type"];
|
|
132
|
+
if (!contentType) {
|
|
133
|
+
throw (0, utils_js_1.httpError)(400, "Could not determine the Content-Type of the request");
|
|
134
|
+
}
|
|
135
|
+
const semi = contentType.indexOf(";");
|
|
136
|
+
const ct = semi >= 0 ? contentType.slice(0, semi).trim() : contentType.trim();
|
|
137
|
+
// TODO: we should probably at least look at the parameters... e.g. throw if encoding !== utf-8
|
|
138
|
+
switch (ct) {
|
|
139
|
+
case "application/json": {
|
|
140
|
+
switch (body.type) {
|
|
141
|
+
case "buffer": {
|
|
142
|
+
return processAndValidateJSON(JSON.parse(body.buffer.toString("utf8")));
|
|
143
|
+
}
|
|
144
|
+
case "text": {
|
|
145
|
+
return processAndValidateJSON(JSON.parse(body.text));
|
|
146
|
+
}
|
|
147
|
+
case "json": {
|
|
148
|
+
return processAndValidateJSON(body.json);
|
|
149
|
+
}
|
|
150
|
+
default: {
|
|
151
|
+
const never = body;
|
|
152
|
+
throw (0, utils_js_1.httpError)(400, `Do not understand type ${never.type}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
case "application/x-www-form-urlencoded": {
|
|
157
|
+
switch (body.type) {
|
|
158
|
+
case "buffer": {
|
|
159
|
+
return processAndValidateQueryParams((0, node_querystring_1.parse)(body.buffer.toString("utf8")));
|
|
160
|
+
}
|
|
161
|
+
case "text": {
|
|
162
|
+
return processAndValidateQueryParams((0, node_querystring_1.parse)(body.text));
|
|
163
|
+
}
|
|
164
|
+
case "json": {
|
|
165
|
+
if (body.json == null ||
|
|
166
|
+
typeof body.json !== "object" ||
|
|
167
|
+
Array.isArray(body.json)) {
|
|
168
|
+
throw (0, utils_js_1.httpError)(400, `Invalid body`);
|
|
169
|
+
}
|
|
170
|
+
return processAndValidateQueryParams(body.json);
|
|
171
|
+
}
|
|
172
|
+
default: {
|
|
173
|
+
const never = body;
|
|
174
|
+
throw (0, utils_js_1.httpError)(400, `Do not understand type ${never.type}`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
case "application/graphql": {
|
|
179
|
+
// TODO: I have a vague feeling that people that do this pass variables via the query string?
|
|
180
|
+
switch (body.type) {
|
|
181
|
+
case "text": {
|
|
182
|
+
return {
|
|
183
|
+
query: body.text,
|
|
184
|
+
operationName: undefined,
|
|
185
|
+
variableValues: undefined,
|
|
186
|
+
extensions: undefined,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
case "buffer": {
|
|
190
|
+
return {
|
|
191
|
+
query: body.buffer.toString("utf8"),
|
|
192
|
+
operationName: undefined,
|
|
193
|
+
variableValues: undefined,
|
|
194
|
+
extensions: undefined,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
case "json": {
|
|
198
|
+
return processAndValidateJSON(body.json);
|
|
199
|
+
}
|
|
200
|
+
default: {
|
|
201
|
+
const never = body;
|
|
202
|
+
throw (0, utils_js_1.httpError)(400, `Do not understand type ${never.type}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
default: {
|
|
207
|
+
throw (0, utils_js_1.httpError)(400, `Do not understand content type`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
exports.APPLICATION_JSON = "application/json;charset=utf-8";
|
|
212
|
+
exports.APPLICATION_GRAPHQL_RESPONSE_JSON = "application/graphql-response+json;charset=utf-8";
|
|
213
|
+
exports.TEXT_HTML = "text/html;charset=utf-8";
|
|
214
|
+
/** https://graphql.github.io/graphql-over-http/draft/#sec-Legacy-Watershed */
|
|
215
|
+
const isAfterWatershed = Date.now() >= +new Date(2025, 0, 1);
|
|
216
|
+
const GRAPHQL_TYPES = isAfterWatershed
|
|
217
|
+
? [exports.APPLICATION_GRAPHQL_RESPONSE_JSON, exports.APPLICATION_JSON]
|
|
218
|
+
: [exports.APPLICATION_JSON, exports.APPLICATION_GRAPHQL_RESPONSE_JSON];
|
|
219
|
+
const graphqlAcceptMatcher = (0, accept_js_1.makeAcceptMatcher)([...GRAPHQL_TYPES]);
|
|
220
|
+
const graphqlOrHTMLAcceptMatcher = (0, accept_js_1.makeAcceptMatcher)([
|
|
221
|
+
...GRAPHQL_TYPES,
|
|
222
|
+
// Must be lowest priority, otherwise GraphiQL may override GraphQL in some
|
|
223
|
+
// situations
|
|
224
|
+
exports.TEXT_HTML,
|
|
225
|
+
]);
|
|
226
|
+
const makeGraphQLHandler = (resolvedPreset, dynamicOptions, schemaOrPromise) => {
|
|
227
|
+
if (schemaOrPromise == null) {
|
|
228
|
+
const err = Promise.reject(new graphql_1.GraphQLError("The schema is currently unavailable", null, null, null, null, null, {
|
|
229
|
+
statusCode: 503,
|
|
230
|
+
}));
|
|
231
|
+
return () => err;
|
|
232
|
+
}
|
|
233
|
+
let latestSchema;
|
|
234
|
+
let latestParseAndValidate;
|
|
235
|
+
let wait;
|
|
236
|
+
if ((0, grafast_1.isPromiseLike)(schemaOrPromise)) {
|
|
237
|
+
wait = schemaOrPromise.then((_schema) => {
|
|
238
|
+
if (_schema == null) {
|
|
239
|
+
throw new graphql_1.GraphQLError("The schema is current unavailable.", null, null, null, null, null, {
|
|
240
|
+
statusCode: 503,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
latestSchema = _schema;
|
|
244
|
+
latestParseAndValidate = makeParseAndValidateFunction(latestSchema);
|
|
245
|
+
wait = null;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
latestSchema = schemaOrPromise;
|
|
250
|
+
latestParseAndValidate = makeParseAndValidateFunction(latestSchema);
|
|
251
|
+
}
|
|
252
|
+
const outputDataAsString = dynamicOptions.outputDataAsString;
|
|
253
|
+
const { maskIterator, maskPayload, maskError } = dynamicOptions;
|
|
254
|
+
return async (request, graphiqlHandler) => {
|
|
255
|
+
const accept = request[interfaces_js_1.$$normalizedHeaders].accept;
|
|
256
|
+
// Do they want HTML, or do they want GraphQL?
|
|
257
|
+
const chosenContentType = request.method === "GET" &&
|
|
258
|
+
dynamicOptions.graphiqlOnGraphQLGET &&
|
|
259
|
+
graphiqlHandler
|
|
260
|
+
? graphqlOrHTMLAcceptMatcher(accept)
|
|
261
|
+
: graphqlAcceptMatcher(accept);
|
|
262
|
+
if (chosenContentType === exports.TEXT_HTML) {
|
|
263
|
+
// They want HTML -> Ruru
|
|
264
|
+
return graphiqlHandler(request);
|
|
69
265
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
266
|
+
else if (chosenContentType === exports.APPLICATION_JSON ||
|
|
267
|
+
chosenContentType === exports.APPLICATION_GRAPHQL_RESPONSE_JSON) {
|
|
268
|
+
// They want GraphQL
|
|
269
|
+
if (request.method === "POST" ||
|
|
270
|
+
(dynamicOptions.graphqlOverGET && request.method === "GET")) {
|
|
271
|
+
/* continue */
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
return {
|
|
275
|
+
type: "graphql",
|
|
276
|
+
request,
|
|
277
|
+
dynamicOptions,
|
|
278
|
+
statusCode: 405,
|
|
279
|
+
contentType: "application/json",
|
|
280
|
+
payload: {
|
|
281
|
+
errors: [new graphql_1.GraphQLError("Method not supported, please use POST")],
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
// > Respond with a 406 Not Acceptable status code and stop processing the request.
|
|
288
|
+
// https://graphql.github.io/graphql-over-http/draft/#sel-DANHELDAACNA4rR
|
|
289
|
+
return {
|
|
290
|
+
type: "graphql",
|
|
291
|
+
request,
|
|
292
|
+
dynamicOptions,
|
|
293
|
+
statusCode: 406,
|
|
294
|
+
contentType: "application/json",
|
|
295
|
+
payload: {
|
|
296
|
+
errors: [
|
|
297
|
+
new graphql_1.GraphQLError("Could not find a supported media type; consider adding 'application/json' or 'application/graphql-response+json' to your Accept header."),
|
|
298
|
+
],
|
|
299
|
+
},
|
|
300
|
+
};
|
|
73
301
|
}
|
|
74
|
-
|
|
75
|
-
|
|
302
|
+
// If we get here, we're handling a GraphQL request
|
|
303
|
+
const isLegacy = chosenContentType === exports.APPLICATION_JSON;
|
|
304
|
+
if (wait) {
|
|
305
|
+
await Promise.race([wait, sleep(dynamicOptions.schemaWaitTime)]);
|
|
306
|
+
if (!latestSchema) {
|
|
307
|
+
// Handle missing schema
|
|
308
|
+
throw (0, utils_js_1.httpError)(502, `Schema isn't ready`);
|
|
309
|
+
}
|
|
76
310
|
}
|
|
77
|
-
|
|
78
|
-
|
|
311
|
+
// Get a reference to the latest versions to use for this entire operation
|
|
312
|
+
const schema = latestSchema;
|
|
313
|
+
const parseAndValidate = latestParseAndValidate;
|
|
314
|
+
let body;
|
|
315
|
+
try {
|
|
316
|
+
body =
|
|
317
|
+
request.method === "POST"
|
|
318
|
+
? processAndValidateBody(request, await request.getBody())
|
|
319
|
+
: processAndValidateQueryParams(await request.getQueryParams());
|
|
79
320
|
}
|
|
321
|
+
catch (e) {
|
|
322
|
+
if (typeof e.statusCode === "number" &&
|
|
323
|
+
e.statusCode >= 400 &&
|
|
324
|
+
e.statusCode < 600) {
|
|
325
|
+
throw e;
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
// TODO: should maybe handle more specific issues here. See examples:
|
|
329
|
+
// https://graphql.github.io/graphql-over-http/draft/#sec-Examples
|
|
330
|
+
throw (0, utils_js_1.httpError)(400, `Parsing failed, please check that the data you're sending to the server is correct`);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
const { query, operationName, variableValues } = body;
|
|
80
334
|
const { errors, document } = parseAndValidate(query);
|
|
81
335
|
if (errors) {
|
|
82
|
-
return {
|
|
336
|
+
return {
|
|
337
|
+
type: "graphql",
|
|
338
|
+
request,
|
|
339
|
+
dynamicOptions,
|
|
340
|
+
statusCode: isLegacy ? 200 : 400,
|
|
341
|
+
contentType: chosenContentType,
|
|
342
|
+
payload: { errors },
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
if (request.method !== "POST") {
|
|
346
|
+
// Forbid mutation
|
|
347
|
+
const operation = (0, graphql_1.getOperationAST)(document, operationName);
|
|
348
|
+
if (!operation || operation.operation !== "query") {
|
|
349
|
+
const error = new graphql_1.GraphQLError("Only queries may take place over non-POST requests.", operation);
|
|
350
|
+
return {
|
|
351
|
+
type: "graphql",
|
|
352
|
+
request,
|
|
353
|
+
dynamicOptions,
|
|
354
|
+
// Note: the GraphQL-over-HTTP spec currently mandates 405, even for legacy clients:
|
|
355
|
+
// https://graphql.github.io/graphql-over-http/draft/#sel-FALJRPCE2BCGoBitR
|
|
356
|
+
statusCode: 405,
|
|
357
|
+
contentType: chosenContentType,
|
|
358
|
+
payload: {
|
|
359
|
+
errors: [error],
|
|
360
|
+
},
|
|
361
|
+
};
|
|
362
|
+
}
|
|
83
363
|
}
|
|
84
364
|
const args = {
|
|
85
365
|
schema,
|
|
@@ -89,26 +369,48 @@ const makeGraphQLHandler = (params) => {
|
|
|
89
369
|
variableValues,
|
|
90
370
|
operationName,
|
|
91
371
|
};
|
|
92
|
-
await (0, grafast_1.hookArgs)(args,
|
|
372
|
+
await (0, grafast_1.hookArgs)(args, {
|
|
373
|
+
...request.requestContext,
|
|
374
|
+
http: request,
|
|
375
|
+
}, resolvedPreset);
|
|
93
376
|
try {
|
|
94
377
|
const result = await (0, grafast_1.execute)(args, resolvedPreset);
|
|
95
378
|
if ((0, grafast_1.isAsyncIterable)(result)) {
|
|
96
379
|
return {
|
|
97
380
|
type: "graphqlIncremental",
|
|
381
|
+
request,
|
|
382
|
+
dynamicOptions,
|
|
98
383
|
statusCode: 200,
|
|
99
|
-
iterator: result,
|
|
100
|
-
|
|
384
|
+
iterator: maskIterator(result),
|
|
385
|
+
outputDataAsString,
|
|
101
386
|
};
|
|
102
387
|
}
|
|
103
|
-
return {
|
|
388
|
+
return {
|
|
389
|
+
type: "graphql",
|
|
390
|
+
request,
|
|
391
|
+
dynamicOptions,
|
|
392
|
+
statusCode: isLegacy || !result.errors
|
|
393
|
+
? 200
|
|
394
|
+
: result.data === undefined
|
|
395
|
+
? 400
|
|
396
|
+
: 200,
|
|
397
|
+
contentType: chosenContentType,
|
|
398
|
+
payload: maskPayload(result),
|
|
399
|
+
outputDataAsString,
|
|
400
|
+
};
|
|
104
401
|
}
|
|
105
402
|
catch (e) {
|
|
106
403
|
console.error(e);
|
|
107
404
|
return {
|
|
108
405
|
type: "graphql",
|
|
109
|
-
|
|
406
|
+
request,
|
|
407
|
+
dynamicOptions,
|
|
408
|
+
// e.g. We should always return 400 on no Content-Type header:
|
|
409
|
+
// https://graphql.github.io/graphql-over-http/draft/#sel-DALLDJAADLCA8tb
|
|
410
|
+
statusCode: e.statusCode ?? (isLegacy ? 200 : 500),
|
|
411
|
+
contentType: chosenContentType,
|
|
110
412
|
payload: {
|
|
111
|
-
errors: [new graphql_1.GraphQLError(e.message)],
|
|
413
|
+
errors: [maskError(new graphql_1.GraphQLError(e.message))],
|
|
112
414
|
extensions: args.rootValue?.[grafast_1.$$extensions],
|
|
113
415
|
},
|
|
114
416
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/middleware/graphql.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/middleware/graphql.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AsyncExecutionResult, ExecutionResult } from "graphql";
|
|
2
|
+
import { GraphQLError } from "graphql";
|
|
3
|
+
export declare function defaultMaskError(error: GraphQLError): GraphQLError;
|
|
4
|
+
export declare function makeMaskError(callback: (error: GraphQLError) => GraphQLError): (error: GraphQLError) => GraphQLError;
|
|
5
|
+
export declare function optionsFromConfig(config: GraphileConfig.ResolvedPreset): {
|
|
6
|
+
outputDataAsString: boolean;
|
|
7
|
+
graphqlPath: string;
|
|
8
|
+
graphqlOverGET: boolean;
|
|
9
|
+
graphiql: boolean;
|
|
10
|
+
graphiqlOnGraphQLGET: boolean;
|
|
11
|
+
graphiqlPath: string;
|
|
12
|
+
watch: boolean;
|
|
13
|
+
eventStreamRoute: string;
|
|
14
|
+
maxRequestLength: number;
|
|
15
|
+
explain: boolean | string[] | undefined;
|
|
16
|
+
schemaWaitTime: number;
|
|
17
|
+
maskError: (error: GraphQLError) => GraphQLError;
|
|
18
|
+
maskPayload: (payload: any) => any;
|
|
19
|
+
maskIterator: (result: AsyncGenerator<AsyncExecutionResult>) => AsyncGenerator<AsyncExecutionResult>;
|
|
20
|
+
maskExecutionResult: (result: ExecutionResult | AsyncGenerator<AsyncExecutionResult>) => any;
|
|
21
|
+
};
|
|
22
|
+
export type OptionsFromConfig = ReturnType<typeof optionsFromConfig>;
|
|
23
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAiBvC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CA6BlE;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,YAAY,GAC9C,CAAC,KAAK,EAAE,YAAY,KAAK,YAAY,CAavC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,cAAc;;;;;;;;;;;;;2BAmBvC,GAAG;2BAOvB,eAAe,oBAAoB,CAAC,KAC3C,eAAe,oBAAoB,CAAC;kCAyB7B,eAAe,GAAG,eAAe,oBAAoB,CAAC;EAyBjE;AACD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/options.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.optionsFromConfig = exports.makeMaskError = exports.defaultMaskError = void 0;
|
|
4
|
+
const grafast_1 = require("grafast");
|
|
5
|
+
const graphql_1 = require("graphql");
|
|
6
|
+
// Only the non-ambiguous characters
|
|
7
|
+
const RANDOM_STRING_LETTERS = "ABCDEFGHJKLMNPQRTUVWXYZ2346789";
|
|
8
|
+
const RANDOM_STRING_LETTERS_LENGTH = RANDOM_STRING_LETTERS.length;
|
|
9
|
+
const randomString = (length = 10) => {
|
|
10
|
+
let str = "";
|
|
11
|
+
for (let i = 0; i < length; i++) {
|
|
12
|
+
str +=
|
|
13
|
+
RANDOM_STRING_LETTERS[Math.floor(Math.random() * RANDOM_STRING_LETTERS_LENGTH)];
|
|
14
|
+
}
|
|
15
|
+
return str;
|
|
16
|
+
};
|
|
17
|
+
function defaultMaskError(error) {
|
|
18
|
+
if (error.originalError instanceof graphql_1.GraphQLError) {
|
|
19
|
+
return error;
|
|
20
|
+
}
|
|
21
|
+
else if (error.originalError != null && (0, grafast_1.isSafeError)(error.originalError)) {
|
|
22
|
+
return new graphql_1.GraphQLError(error.originalError.message, error.nodes, error.source, error.positions, error.path, error.originalError, error.originalError.extensions ?? null);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const errorId = randomString();
|
|
26
|
+
console.error(`Masked GraphQL error (code: '${errorId}')`, error);
|
|
27
|
+
return new graphql_1.GraphQLError(`An error occurred (code: '${errorId}')`, error.nodes, error.source, error.positions, error.path, error.originalError,
|
|
28
|
+
// Deliberately wipe the extensions
|
|
29
|
+
{
|
|
30
|
+
errorId,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.defaultMaskError = defaultMaskError;
|
|
35
|
+
function makeMaskError(callback) {
|
|
36
|
+
let warnedAboutMaskErrorCallback = false;
|
|
37
|
+
return (error) => {
|
|
38
|
+
const path = error.path;
|
|
39
|
+
const replacement = callback(error);
|
|
40
|
+
if (!warnedAboutMaskErrorCallback && replacement.path !== path) {
|
|
41
|
+
warnedAboutMaskErrorCallback = true;
|
|
42
|
+
console.warn(`[WARNING] Your maskError callback is changing the error path; please reuse the path of the original error to ensure compliance with the GraphQL specification. We will not issue this warning again until the server is restarted or another maskError function is provided.`);
|
|
43
|
+
}
|
|
44
|
+
return replacement;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.makeMaskError = makeMaskError;
|
|
48
|
+
function optionsFromConfig(config) {
|
|
49
|
+
const { graphqlPath = "/graphql", graphqlOverGET = false, graphiql = true, graphiqlOnGraphQLGET = true, graphiqlPath = "/", watch = false,
|
|
50
|
+
// TODO: Why 'Path' for graphqlPath and graphiqlPath, but 'Route' for this?!
|
|
51
|
+
eventStreamRoute = "/graphql/stream", maxRequestLength = 100_000, outputDataAsString = false, schemaWaitTime = 15000, maskError: rawMaskError, } = config.grafserv ?? {};
|
|
52
|
+
const { explain } = config.grafast ?? {};
|
|
53
|
+
const maskError = rawMaskError
|
|
54
|
+
? makeMaskError(rawMaskError)
|
|
55
|
+
: defaultMaskError;
|
|
56
|
+
const maskPayload = (payload) => {
|
|
57
|
+
if (payload.errors) {
|
|
58
|
+
payload.errors = payload.errors.map(maskError);
|
|
59
|
+
}
|
|
60
|
+
return payload;
|
|
61
|
+
};
|
|
62
|
+
const maskIterator = (result) => {
|
|
63
|
+
return {
|
|
64
|
+
[Symbol.asyncIterator]() {
|
|
65
|
+
return this;
|
|
66
|
+
},
|
|
67
|
+
return(value) {
|
|
68
|
+
return result.return(value);
|
|
69
|
+
},
|
|
70
|
+
throw(e) {
|
|
71
|
+
return result.throw(e);
|
|
72
|
+
},
|
|
73
|
+
async next(...args) {
|
|
74
|
+
const ir = await result.next(...args);
|
|
75
|
+
if (ir.value != null) {
|
|
76
|
+
return {
|
|
77
|
+
done: ir.done,
|
|
78
|
+
value: maskPayload(ir.value),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return ir;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
const maskExecutionResult = (result) => {
|
|
88
|
+
if ((0, grafast_1.isAsyncIterable)(result)) {
|
|
89
|
+
return maskIterator(result);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return maskPayload(result);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
return {
|
|
96
|
+
outputDataAsString,
|
|
97
|
+
graphqlPath,
|
|
98
|
+
graphqlOverGET,
|
|
99
|
+
graphiql,
|
|
100
|
+
graphiqlOnGraphQLGET,
|
|
101
|
+
graphiqlPath,
|
|
102
|
+
watch,
|
|
103
|
+
eventStreamRoute,
|
|
104
|
+
maxRequestLength,
|
|
105
|
+
explain,
|
|
106
|
+
schemaWaitTime,
|
|
107
|
+
maskError,
|
|
108
|
+
maskPayload,
|
|
109
|
+
maskIterator,
|
|
110
|
+
maskExecutionResult,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
exports.optionsFromConfig = optionsFromConfig;
|
|
114
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import type { Express, Request, Response } from "express";
|
|
4
|
+
import type { Server as HTTPServer } from "node:http";
|
|
5
|
+
import type { Server as HTTPSServer } from "node:https";
|
|
6
|
+
import type { GrafservConfig, RequestDigest } from "../../../interfaces.js";
|
|
7
|
+
import type { OptionsFromConfig } from "../../../options.js";
|
|
8
|
+
import { NodeGrafservBase } from "../../node/index.js";
|
|
9
|
+
declare global {
|
|
10
|
+
namespace Grafast {
|
|
11
|
+
interface RequestContext {
|
|
12
|
+
expressv4: {
|
|
13
|
+
req: Request;
|
|
14
|
+
res: Response;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export declare class ExpressGrafserv extends NodeGrafservBase {
|
|
20
|
+
protected getDigest(dynamicOptions: OptionsFromConfig, req: Request, res: Response): RequestDigest;
|
|
21
|
+
addTo(app: Express, server: HTTPServer | HTTPSServer | null): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export declare function grafserv(config: GrafservConfig): ExpressGrafserv;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/servers/express/v4/index.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,OAAO,EAEL,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,cAAc;YACtB,SAAS,EAAE;gBACT,GAAG,EAAE,OAAO,CAAC;gBACb,GAAG,EAAE,QAAQ,CAAC;aACf,CAAC;SACH;KACF;CACF;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,SAAS,CAAC,SAAS,CACjB,cAAc,EAAE,iBAAiB,EACjC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACZ,aAAa;IA+BV,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;CAiBlE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,mBAE9C"}
|