grafserv 0.1.1-beta.2 → 0.1.1-beta.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/CHANGELOG.md +40 -0
- package/README.md +1 -2
- package/dist/index.d.ts +96 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +1 -94
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/servers/fastify/v4/index.d.ts.map +1 -1
- package/dist/servers/fastify/v4/index.js +33 -27
- package/dist/servers/fastify/v4/index.js.map +1 -1
- package/package.json +11 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
# grafserv
|
|
2
2
|
|
|
3
|
+
## 0.1.1-beta.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1877](https://github.com/graphile/crystal/pull/1877)
|
|
8
|
+
[`8a0cdb95f`](https://github.com/graphile/crystal/commit/8a0cdb95f200b28b0ea1ab5caa12b23dce5f374f)
|
|
9
|
+
Thanks [@benjie](https://github.com/benjie)! - Move 'declare global' out of
|
|
10
|
+
'interfaces.ts' and into 'index.ts' or equivalent. Should make TypeScript more
|
|
11
|
+
aware of these types.
|
|
12
|
+
|
|
13
|
+
- [#1849](https://github.com/graphile/crystal/pull/1849)
|
|
14
|
+
[`995e25035`](https://github.com/graphile/crystal/commit/995e250352217fdf8f036b8ed6cad3fab520817f)
|
|
15
|
+
Thanks [@TimoStolz](https://github.com/TimoStolz)! - Tweak websocket
|
|
16
|
+
integration with Fastify: `wsHandlers` are only allowed if method is `GET`.
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
[[`3fdc2bce4`](https://github.com/graphile/crystal/commit/3fdc2bce42418773f808c5b8309dfb361cd95ce9),
|
|
19
|
+
[`aeef362b5`](https://github.com/graphile/crystal/commit/aeef362b5744816f01e4a6f714bbd77f92332bc5),
|
|
20
|
+
[`8a76db07f`](https://github.com/graphile/crystal/commit/8a76db07f4c110cecc6225504f9a05ccbcbc7b92),
|
|
21
|
+
[`8a0cdb95f`](https://github.com/graphile/crystal/commit/8a0cdb95f200b28b0ea1ab5caa12b23dce5f374f),
|
|
22
|
+
[`1c9f1c0ed`](https://github.com/graphile/crystal/commit/1c9f1c0edf4e621a5b6345d3a41527a18143c6ae)]:
|
|
23
|
+
- grafast@0.1.1-beta.2
|
|
24
|
+
- graphile-config@0.0.1-beta.5
|
|
25
|
+
- ruru@2.0.0-beta.9
|
|
26
|
+
|
|
27
|
+
## 0.1.1-beta.3
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- [#1807](https://github.com/graphile/crystal/pull/1807)
|
|
32
|
+
[`9696a1b08`](https://github.com/graphile/crystal/commit/9696a1b0885442f44e3a6ca6a4909ec96a445884)
|
|
33
|
+
Thanks [@innermatrix](https://github.com/innermatrix)! - Export lambda server
|
|
34
|
+
from `grafserv/lambda/v1`
|
|
35
|
+
|
|
36
|
+
- Updated dependencies
|
|
37
|
+
[[`49fcb0d58`](https://github.com/graphile/crystal/commit/49fcb0d585b31b291c9072c339d6f5b550eefc9f),
|
|
38
|
+
[`7aef73319`](https://github.com/graphile/crystal/commit/7aef73319a8a147c700727be62427e1eefdefbf8)]:
|
|
39
|
+
- grafast@0.1.1-beta.1
|
|
40
|
+
- graphile-config@0.0.1-beta.4
|
|
41
|
+
- ruru@2.0.0-beta.8
|
|
42
|
+
|
|
3
43
|
## 0.1.1-beta.2
|
|
4
44
|
|
|
5
45
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -27,9 +27,8 @@ And please give some love to our featured sponsors 🤩:
|
|
|
27
27
|
<td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
|
|
28
28
|
<td align="center"><a href="https://dovetailapp.com/"><img src="https://graphile.org/images/sponsors/dovetail.png" width="90" height="90" alt="Dovetail" /><br />Dovetail</a> *</td>
|
|
29
29
|
<td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
|
|
30
|
-
<td align="center"><a href=""><img src="https://graphile.org/images/sponsors/chadf.png" width="90" height="90" alt="Chad Furman" /><br />Chad Furman</a> *</td>
|
|
31
|
-
</tr><tr>
|
|
32
30
|
<td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
|
|
31
|
+
</tr><tr>
|
|
33
32
|
<td align="center"><a href="https://www.accenture.com/"><img src="https://graphile.org/images/sponsors/accenture.svg" width="90" height="90" alt="Accenture" /><br />Accenture</a> *</td>
|
|
34
33
|
<td align="center"><a href="https://microteam.io/"><img src="https://graphile.org/images/sponsors/micro.png" width="90" height="90" alt="We Love Micro" /><br />We Love Micro</a> *</td>
|
|
35
34
|
</tr></table>
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,101 @@
|
|
|
1
|
+
import type { PromiseOrDirect } from "grafast";
|
|
2
|
+
import type { GraphQLError } from "grafast/graphql";
|
|
3
|
+
import type { PluginHook } from "graphile-config";
|
|
4
|
+
import type { RuruHTMLParts } from "ruru/server";
|
|
5
|
+
import type { GrafservPluginContext, NormalizedRequestDigest, ProcessGraphQLRequestBodyEvent, RequestContentType } from "./interfaces.js";
|
|
1
6
|
export { convertErrorToErrorResult, convertHandlerResultToResult, GrafservBase, } from "./core/base.js";
|
|
2
7
|
export type { BufferResult, BufferStreamResult, ErrorResult, EventStreamHeandlerResult, GrafservBody, GrafservBodyBuffer, GrafservBodyJSON, GrafservBodyText, GrafservConfig, GraphQLHandlerResult, GraphQLIncrementalHandlerResult, HandlerResult, HTMLHandlerResult, JSONObject, JSONResult, JSONValue, NoContentHandlerResult, NoContentResult, NormalizedRequestDigest, ParsedGraphQLBody, ProcessGraphQLRequestBodyEvent, RequestDigest, Result, TextHandlerResult, ValidatedGraphQLBody, } from "./interfaces.js";
|
|
3
8
|
export { DEFAULT_ALLOWED_REQUEST_CONTENT_TYPES } from "./middleware/graphql.js";
|
|
4
9
|
export { getBodyFromFrameworkBody, getBodyFromRequest, handleErrors, httpError, makeGraphQLWSConfig, memo, normalizeRequest, parseGraphQLJSONBody, processHeaders, } from "./utils.js";
|
|
10
|
+
declare global {
|
|
11
|
+
namespace Grafast {
|
|
12
|
+
interface RequestContext {
|
|
13
|
+
http?: NormalizedRequestDigest;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
namespace GraphileConfig {
|
|
17
|
+
interface Preset {
|
|
18
|
+
/**
|
|
19
|
+
* Configuration options for Grafserv
|
|
20
|
+
*/
|
|
21
|
+
grafserv?: GrafservOptions;
|
|
22
|
+
}
|
|
23
|
+
interface Plugin {
|
|
24
|
+
grafserv?: {
|
|
25
|
+
hooks?: {
|
|
26
|
+
[key in keyof GrafservHooks]?: PluginHook<GrafservHooks[key] extends (...args: infer UArgs) => infer UResult ? (info: GrafservPluginContext, ...args: UArgs) => UResult : never>;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
interface GrafservOptions {
|
|
31
|
+
/** Port number to listen on */
|
|
32
|
+
port?: number;
|
|
33
|
+
/** Host to listen on */
|
|
34
|
+
host?: string;
|
|
35
|
+
/** The path at which GraphQL will be available; usually /graphql */
|
|
36
|
+
graphqlPath?: string;
|
|
37
|
+
/** The path at which the GraphQL event stream would be made available; usually /graphql/stream */
|
|
38
|
+
eventStreamPath?: string;
|
|
39
|
+
/** If true, allow GraphQL over GET requests. This has security ramifications, exercise caution. */
|
|
40
|
+
graphqlOverGET?: boolean;
|
|
41
|
+
graphiql?: boolean;
|
|
42
|
+
/** If true, then we will render GraphiQL on GET requests to the /graphql endpoint */
|
|
43
|
+
graphiqlOnGraphQLGET?: boolean;
|
|
44
|
+
/** The path at which GraphiQL will be available; usually / */
|
|
45
|
+
graphiqlPath?: string;
|
|
46
|
+
/** Set true to enable watch mode */
|
|
47
|
+
watch?: boolean;
|
|
48
|
+
/** The length, in bytes, for the largest request body that grafserv will accept */
|
|
49
|
+
maxRequestLength?: number;
|
|
50
|
+
/** How long (in milliseconds) should we wait for a schema promise to resolve before sending a failure to the client? */
|
|
51
|
+
schemaWaitTime?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Use grafast 'string' optimization - response will be partially stringified
|
|
54
|
+
* already, use `stringifyPayload` before sending to the user
|
|
55
|
+
*
|
|
56
|
+
* @remarks
|
|
57
|
+
*
|
|
58
|
+
* This is a `grafserv` option rather than a `grafast` option because the
|
|
59
|
+
* server is responsible for stringifying the body before sending it to the
|
|
60
|
+
* user, via `stringifyPayload`. If we were to make this a `grafast` option
|
|
61
|
+
* then everything using grafast would be affected by it, and code expecting
|
|
62
|
+
* objects would break.
|
|
63
|
+
*/
|
|
64
|
+
outputDataAsString?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Temporary hack to allow easy testing with graphql-http.com
|
|
67
|
+
*/
|
|
68
|
+
dangerouslyAllowAllCORSRequests?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Should we enable a websockets transport if available?
|
|
71
|
+
*/
|
|
72
|
+
websockets?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* If you would like to customize the way in which errors are masked, you may
|
|
75
|
+
* pass your own error masking function here. You can also import
|
|
76
|
+
* `defaultMaskError` from `grafserv`.
|
|
77
|
+
*/
|
|
78
|
+
maskError?: (error: GraphQLError) => GraphQLError;
|
|
79
|
+
/**
|
|
80
|
+
* By default `application/json` and `application/graphql` are supported
|
|
81
|
+
* (`DEFAULT_ALLOWED_REQUEST_CONTENT_TYPES`). You may add
|
|
82
|
+
* `application/x-www-form-urlencoded` to the list, but be aware that
|
|
83
|
+
* doing so potentially opens you to CSRF issues even if you're not using
|
|
84
|
+
* CORS since this media type is handled specially by browsers - ensure
|
|
85
|
+
* that you have CSRF protections in place.
|
|
86
|
+
*
|
|
87
|
+
* Note further that if you're using CORS the other media types are not
|
|
88
|
+
* safe, and you should still use CSRF protection.
|
|
89
|
+
*/
|
|
90
|
+
allowedRequestContentTypes?: readonly RequestContentType[];
|
|
91
|
+
}
|
|
92
|
+
interface GrafservHooks {
|
|
93
|
+
init(event: Record<string, never>): PromiseOrDirect<void>;
|
|
94
|
+
processGraphQLRequestBody(event: ProcessGraphQLRequestBodyEvent): PromiseOrDirect<void>;
|
|
95
|
+
ruruHTMLParts(parts: RuruHTMLParts, extra: {
|
|
96
|
+
request: NormalizedRequestDigest;
|
|
97
|
+
}): PromiseOrDirect<void>;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
5
101
|
//# sourceMappingURL=index.d.ts.map
|
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,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EACzB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,+BAA+B,EAC/B,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,8BAA8B,EAC9B,aAAa,EACb,MAAM,EACN,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,IAAI,EACJ,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAYA,0CAIwB;AAHtB,oHAAA,yBAAyB,OAAA;AACzB,uHAAA,4BAA4B,OAAA;AAC5B,uGAAA,YAAY,OAAA;AA6Bd,sDAAgF;AAAvE,mIAAA,qCAAqC,OAAA;AAC9C,uCAUoB;AATlB,oHAAA,wBAAwB,OAAA;AACxB,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,qGAAA,SAAS,OAAA;AACT,+GAAA,mBAAmB,OAAA;AACnB,gGAAA,IAAI,OAAA;AACJ,4GAAA,gBAAgB,OAAA;AAChB,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA"}
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import "graphile-config";
|
|
3
3
|
import type { PromiseOrDirect, SafeError } from "grafast";
|
|
4
|
-
import type { AsyncExecutionResult, ExecutionResult,
|
|
5
|
-
import type { PluginHook } from "graphile-config";
|
|
4
|
+
import type { AsyncExecutionResult, ExecutionResult, GraphQLSchema } from "grafast/graphql";
|
|
6
5
|
import type { Context } from "graphql-ws";
|
|
7
|
-
import type { RuruHTMLParts } from "ruru/server";
|
|
8
6
|
import type { OptionsFromConfig } from "./options";
|
|
9
7
|
export type ContextCallback = (requestContext: Grafast.RequestContext) => Grafast.Context;
|
|
10
8
|
export interface GrafservConfig {
|
|
@@ -43,97 +41,6 @@ export interface ProcessGraphQLRequestBodyEvent {
|
|
|
43
41
|
request?: NormalizedRequestDigest;
|
|
44
42
|
graphqlWsContext?: Context;
|
|
45
43
|
}
|
|
46
|
-
declare global {
|
|
47
|
-
namespace Grafast {
|
|
48
|
-
interface RequestContext {
|
|
49
|
-
http?: NormalizedRequestDigest;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
namespace GraphileConfig {
|
|
53
|
-
interface Preset {
|
|
54
|
-
/**
|
|
55
|
-
* Configuration options for Grafserv
|
|
56
|
-
*/
|
|
57
|
-
grafserv?: GrafservOptions;
|
|
58
|
-
}
|
|
59
|
-
interface Plugin {
|
|
60
|
-
grafserv?: {
|
|
61
|
-
hooks?: {
|
|
62
|
-
[key in keyof GrafservHooks]?: PluginHook<GrafservHooks[key] extends (...args: infer UArgs) => infer UResult ? (info: GrafservPluginContext, ...args: UArgs) => UResult : never>;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
interface GrafservOptions {
|
|
67
|
-
/** Port number to listen on */
|
|
68
|
-
port?: number;
|
|
69
|
-
/** Host to listen on */
|
|
70
|
-
host?: string;
|
|
71
|
-
/** The path at which GraphQL will be available; usually /graphql */
|
|
72
|
-
graphqlPath?: string;
|
|
73
|
-
/** The path at which the GraphQL event stream would be made available; usually /graphql/stream */
|
|
74
|
-
eventStreamPath?: string;
|
|
75
|
-
/** If true, allow GraphQL over GET requests. This has security ramifications, exercise caution. */
|
|
76
|
-
graphqlOverGET?: boolean;
|
|
77
|
-
graphiql?: boolean;
|
|
78
|
-
/** If true, then we will render GraphiQL on GET requests to the /graphql endpoint */
|
|
79
|
-
graphiqlOnGraphQLGET?: boolean;
|
|
80
|
-
/** The path at which GraphiQL will be available; usually / */
|
|
81
|
-
graphiqlPath?: string;
|
|
82
|
-
/** Set true to enable watch mode */
|
|
83
|
-
watch?: boolean;
|
|
84
|
-
/** The length, in bytes, for the largest request body that grafserv will accept */
|
|
85
|
-
maxRequestLength?: number;
|
|
86
|
-
/** How long (in milliseconds) should we wait for a schema promise to resolve before sending a failure to the client? */
|
|
87
|
-
schemaWaitTime?: number;
|
|
88
|
-
/**
|
|
89
|
-
* Use grafast 'string' optimization - response will be partially stringified
|
|
90
|
-
* already, use `stringifyPayload` before sending to the user
|
|
91
|
-
*
|
|
92
|
-
* @remarks
|
|
93
|
-
*
|
|
94
|
-
* This is a `grafserv` option rather than a `grafast` option because the
|
|
95
|
-
* server is responsible for stringifying the body before sending it to the
|
|
96
|
-
* user, via `stringifyPayload`. If we were to make this a `grafast` option
|
|
97
|
-
* then everything using grafast would be affected by it, and code expecting
|
|
98
|
-
* objects would break.
|
|
99
|
-
*/
|
|
100
|
-
outputDataAsString?: boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Temporary hack to allow easy testing with graphql-http.com
|
|
103
|
-
*/
|
|
104
|
-
dangerouslyAllowAllCORSRequests?: boolean;
|
|
105
|
-
/**
|
|
106
|
-
* Should we enable a websockets transport if available?
|
|
107
|
-
*/
|
|
108
|
-
websockets?: boolean;
|
|
109
|
-
/**
|
|
110
|
-
* If you would like to customize the way in which errors are masked, you may
|
|
111
|
-
* pass your own error masking function here. You can also import
|
|
112
|
-
* `defaultMaskError` from `grafserv`.
|
|
113
|
-
*/
|
|
114
|
-
maskError?: (error: GraphQLError) => GraphQLError;
|
|
115
|
-
/**
|
|
116
|
-
* By default `application/json` and `application/graphql` are supported
|
|
117
|
-
* (`DEFAULT_ALLOWED_REQUEST_CONTENT_TYPES`). You may add
|
|
118
|
-
* `application/x-www-form-urlencoded` to the list, but be aware that
|
|
119
|
-
* doing so potentially opens you to CSRF issues even if you're not using
|
|
120
|
-
* CORS since this media type is handled specially by browsers - ensure
|
|
121
|
-
* that you have CSRF protections in place.
|
|
122
|
-
*
|
|
123
|
-
* Note further that if you're using CORS the other media types are not
|
|
124
|
-
* safe, and you should still use CSRF protection.
|
|
125
|
-
*/
|
|
126
|
-
allowedRequestContentTypes?: readonly RequestContentType[];
|
|
127
|
-
}
|
|
128
|
-
interface GrafservHooks {
|
|
129
|
-
init(event: Record<string, never>): PromiseOrDirect<void>;
|
|
130
|
-
processGraphQLRequestBody(event: ProcessGraphQLRequestBodyEvent): PromiseOrDirect<void>;
|
|
131
|
-
ruruHTMLParts(parts: RuruHTMLParts, extra: {
|
|
132
|
-
request: NormalizedRequestDigest;
|
|
133
|
-
}): PromiseOrDirect<void>;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
44
|
export interface GrafservBodyBuffer {
|
|
138
45
|
type: "buffer";
|
|
139
46
|
buffer: Buffer;
|
package/dist/interfaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/dist/interfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAgFZ,QAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/servers/fastify/v4/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/servers/fastify/v4/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EAEf,MAAM,SAAS,CAAC;AAGjB,OAAO,EAEL,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAEV,cAAc,EAEd,MAAM,EACP,MAAM,wBAAwB,CAAC;AAQhC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,cAAc;YACtB,SAAS,EAAE;gBACT,OAAO,EAAE,cAAc,CAAC;gBACxB,KAAK,EAAE,YAAY,CAAC;aACrB,CAAC;SACH;KACF;CACF;AAmCD,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,MAAM,EAAE,cAAc;IAIrB,IAAI,CACf,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI;IAwFjB,KAAK,CAAC,GAAG,EAAE,eAAe;CA6FjC;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,mBAE9C"}
|
|
@@ -135,33 +135,39 @@ class FastifyGrafserv extends base_js_1.GrafservBase {
|
|
|
135
135
|
app.getDefaultJsonParser("ignore", "ignore"),
|
|
136
136
|
);
|
|
137
137
|
*/
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
: null),
|
|
158
|
-
});
|
|
159
|
-
if (dynamicOptions.graphiql) {
|
|
138
|
+
const { graphiql, graphiqlOnGraphQLGET, graphqlPath, graphiqlPath, graphqlOverGET, maxRequestLength: bodyLimit, watch, } = this.dynamicOptions;
|
|
139
|
+
const websockets = this.resolvedPreset.grafserv?.websockets ?? false;
|
|
140
|
+
const exposeGetRoute = graphqlOverGET || graphiqlOnGraphQLGET || websockets;
|
|
141
|
+
const exposeHeadRoute = true;
|
|
142
|
+
// Build HTTP handler.
|
|
143
|
+
const handler = async (request, reply) => {
|
|
144
|
+
const digest = getDigest(request, reply);
|
|
145
|
+
const handlerResult = await this.graphqlHandler((0, utils_js_1.normalizeRequest)(digest), this.graphiqlHandler);
|
|
146
|
+
const result = await (0, base_js_1.convertHandlerResultToResult)(handlerResult);
|
|
147
|
+
return this.send(request, reply, result);
|
|
148
|
+
};
|
|
149
|
+
// Build websocket handler.
|
|
150
|
+
const wsHandler = websockets
|
|
151
|
+
? (0, websocket_1.makeHandler)((0, utils_js_1.makeGraphQLWSConfig)(this))
|
|
152
|
+
: undefined;
|
|
153
|
+
// Attach HTTP handler for POST requests.
|
|
154
|
+
app.route({ method: "POST", url: graphqlPath, handler, bodyLimit });
|
|
155
|
+
// Attach websocket and HTTP handler for GET requests, if desired.
|
|
156
|
+
if (exposeGetRoute) {
|
|
160
157
|
app.route({
|
|
161
158
|
method: "GET",
|
|
162
|
-
url:
|
|
163
|
-
exposeHeadRoute
|
|
164
|
-
|
|
159
|
+
url: graphqlPath,
|
|
160
|
+
exposeHeadRoute,
|
|
161
|
+
handler,
|
|
162
|
+
wsHandler,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if (graphiql) {
|
|
166
|
+
app.route({
|
|
167
|
+
method: "GET",
|
|
168
|
+
url: graphiqlPath,
|
|
169
|
+
exposeHeadRoute,
|
|
170
|
+
bodyLimit,
|
|
165
171
|
handler: async (request, reply) => {
|
|
166
172
|
const digest = getDigest(request, reply);
|
|
167
173
|
const handlerResult = await this.graphiqlHandler((0, utils_js_1.normalizeRequest)(digest));
|
|
@@ -170,7 +176,7 @@ class FastifyGrafserv extends base_js_1.GrafservBase {
|
|
|
170
176
|
},
|
|
171
177
|
});
|
|
172
178
|
}
|
|
173
|
-
if (
|
|
179
|
+
if (watch) {
|
|
174
180
|
app.route({
|
|
175
181
|
method: "GET",
|
|
176
182
|
url: this.dynamicOptions.eventStreamPath,
|
|
@@ -182,7 +188,7 @@ class FastifyGrafserv extends base_js_1.GrafservBase {
|
|
|
182
188
|
const handlerResult = {
|
|
183
189
|
type: "event-stream",
|
|
184
190
|
request: (0, utils_js_1.normalizeRequest)(digest),
|
|
185
|
-
dynamicOptions,
|
|
191
|
+
dynamicOptions: this.dynamicOptions,
|
|
186
192
|
payload: this.makeStream(),
|
|
187
193
|
statusCode: 200,
|
|
188
194
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/servers/fastify/v4/index.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/servers/fastify/v4/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "grafserv",
|
|
3
|
-
"version": "0.1.1-beta.
|
|
3
|
+
"version": "0.1.1-beta.4",
|
|
4
4
|
"description": "A highly optimized server for GraphQL, powered by Grafast",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
"types": "./dist/servers/express/v4/index.d.ts",
|
|
19
19
|
"default": "./dist/servers/express/v4/index.js"
|
|
20
20
|
},
|
|
21
|
+
"./lambda/v1": {
|
|
22
|
+
"types": "./dist/servers/lambda/v1/index.d.ts",
|
|
23
|
+
"default": "./dist/servers/lambda/v1/index.js"
|
|
24
|
+
},
|
|
21
25
|
"./koa/v2": {
|
|
22
26
|
"types": "./dist/servers/koa/v2/index.d.ts",
|
|
23
27
|
"default": "./dist/servers/koa/v2/index.js"
|
|
@@ -72,17 +76,17 @@
|
|
|
72
76
|
"@graphile/lru": "^5.0.0-beta.3",
|
|
73
77
|
"debug": "^4.3.4",
|
|
74
78
|
"eventemitter3": "^5.0.1",
|
|
75
|
-
"graphile-config": "^0.0.1-beta.
|
|
79
|
+
"graphile-config": "^0.0.1-beta.5",
|
|
76
80
|
"graphql-ws": "^5.14.0",
|
|
77
|
-
"ruru": "^2.0.0-beta.
|
|
81
|
+
"ruru": "^2.0.0-beta.9",
|
|
78
82
|
"tslib": "^2.6.2"
|
|
79
83
|
},
|
|
80
84
|
"engines": {
|
|
81
85
|
"node": ">=16.10"
|
|
82
86
|
},
|
|
83
87
|
"peerDependencies": {
|
|
84
|
-
"grafast": "^0.1.1-beta.
|
|
85
|
-
"graphile-config": "^0.0.1-beta.
|
|
88
|
+
"grafast": "^0.1.1-beta.2",
|
|
89
|
+
"graphile-config": "^0.0.1-beta.5",
|
|
86
90
|
"graphql": "^16.1.0-experimental-stream-defer.6",
|
|
87
91
|
"h3": "^1.7.1",
|
|
88
92
|
"ws": "^8.12.1"
|
|
@@ -96,6 +100,7 @@
|
|
|
96
100
|
}
|
|
97
101
|
},
|
|
98
102
|
"devDependencies": {
|
|
103
|
+
"@fastify/websocket": "^8.2.0",
|
|
99
104
|
"@types/aws-lambda": "^8.10.123",
|
|
100
105
|
"@types/express": "^4.17.17",
|
|
101
106
|
"@types/koa": "^2.13.8",
|
|
@@ -103,7 +108,7 @@
|
|
|
103
108
|
"@whatwg-node/fetch": "^0.9.10",
|
|
104
109
|
"express": "^4.18.2",
|
|
105
110
|
"fastify": "^4.22.1",
|
|
106
|
-
"grafast": "^0.1.1-beta.
|
|
111
|
+
"grafast": "^0.1.1-beta.2",
|
|
107
112
|
"graphql-http": "^1.22.0",
|
|
108
113
|
"h3": "^1.8.1",
|
|
109
114
|
"jest": "^29.6.4",
|