From 1c0224f20989c17ea5ea45e67fcbee31f0ade6f8 Mon Sep 17 00:00:00 2001 From: Trevor Scheer Date: Fri, 18 Nov 2022 16:01:54 -0800 Subject: [PATCH] Add note about standalone server's 50mb default body-parser limit --- docs/source/api/standalone.mdx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/source/api/standalone.mdx b/docs/source/api/standalone.mdx index dfb9d1b84fb..ec81e57e019 100644 --- a/docs/source/api/standalone.mdx +++ b/docs/source/api/standalone.mdx @@ -9,7 +9,7 @@ This API reference documents the `startStandaloneServer` function. ## Overview -This `startStandaloneServer` function helps you get started with Apollo Server quickly. This function is recommended for all projects that don't require serverless support or a particular Node.js framework (such as Fastify). Under the hood, the `startStandaloneServer` function uses Apollo Server 4's Express integration (i.e., [`expressMiddleware`](./express-middleware)). +This `startStandaloneServer` function helps you get started with Apollo Server quickly. This function is recommended for all projects that don't require serverless support or a particular Node.js framework (such as Fastify). Under the hood, the `startStandaloneServer` function uses Apollo Server 4's Express integration (i.e., [`expressMiddleware`](./express-middleware)). Because it sets helpful defaults, this function is less configurable than other Apollo Server integrations. Complex projects might eventually need to [swap to using `expressMiddleware`](#swapping-to-expressmiddleware) (this process is straightforward). @@ -30,7 +30,7 @@ const server = new ApolloServer({ typeDefs, resolvers }); // `startStandaloneServer` returns a `Promise` with the // the URL that the server is listening on. const { url } = await startStandaloneServer(server); //highlight-line -``` +``` @@ -59,7 +59,7 @@ The `startStandaloneServer` function's second optional argument is an object for -An optional asynchronous [`context` initialization function](../data/resolvers#the-context-argument). +An optional asynchronous [`context` initialization function](../data/resolvers#the-context-argument). The `context` function should return an object that all your server's resolvers share during an operation's execution. This enables resolvers to share helpful context values, such as a database connection. @@ -91,7 +91,7 @@ If no `port` is specified, this defaults to using `{port: 4000}`. -### Example +### Example Below is a full example of setting up `startStandaloneServer`: @@ -196,7 +196,8 @@ await server.start(); // and our expressMiddleware function. app.use('/', cors(), - bodyParser.json(), + // 50mb is the limit that `startStandaloneServer` uses, but you may configure this to suit your needs + bodyParser.json({ limit: '50mb' }), // expressMiddleware accepts the same arguments: // an Apollo Server instance and optional configuration options expressMiddleware(server, { @@ -208,4 +209,4 @@ app.use('/', await new Promise(resolve => httpServer.listen({ port: 4000 }, resolve)); console.log(`🚀 Server ready at http://localhost:4000/`); ``` - \ No newline at end of file +