1
1
# @react-libraries/next-apollo-server
2
2
3
3
Package for calling ApolloServer4 from Next.js.
4
+
4
5
'scalar Upload' is available for multipart data.
6
+ The following headers need to be added to the client-side request in order for the upload to take place.
7
+
8
+ ``` ts
9
+ {' apollo-require-preflight' : ' true' }
10
+ ```
5
11
6
12
## Sample
7
13
@@ -16,11 +22,11 @@ Package for calling ApolloServer4 from Next.js.
16
22
``` ts
17
23
import { promises as fs } from " fs" ;
18
24
import { ApolloServer } from " @apollo/server" ;
19
- import { IResolvers } from " @graphql-tools/utils" ;
20
25
import {
21
26
executeHTTPGraphQLRequest ,
22
27
FormidableFile ,
23
28
} from " @react-libraries/next-apollo-server" ;
29
+ import type { IResolvers } from " @graphql-tools/utils" ;
24
30
import type { NextApiHandler , NextApiRequest , NextApiResponse } from " next" ;
25
31
26
32
/**
@@ -74,22 +80,21 @@ const resolvers: IResolvers<Context> = {
74
80
const apolloServer = new ApolloServer <Context >({
75
81
typeDefs ,
76
82
resolvers ,
77
- plugins: [],
78
83
});
79
84
apolloServer .start ();
80
85
81
86
/**
82
87
* APIRoute handler for Next.js
83
88
*/
84
89
const handler: NextApiHandler = async (req , res ) => {
85
- // Convert NextApiRequest to body format for GraphQL (multipart/form-data support).
90
+ // Convert NextApiRequest to body format for GraphQL (multipart/form-data support).
86
91
return executeHTTPGraphQLRequest ({
87
92
req ,
88
93
res ,
89
94
apolloServer ,
90
95
context : async () => ({ req , res }),
91
96
options: {
92
- // Maximum upload file size set at 10 MB
97
+ // Maximum upload file size set at 10 MB
93
98
maxFileSize: 10 * 1024 * 1024 ,
94
99
},
95
100
});
0 commit comments