diff --git a/packages/apollo-server-core/src/ApolloServer.ts b/packages/apollo-server-core/src/ApolloServer.ts index 3fe1679f55e..8a3fa03e7df 100644 --- a/packages/apollo-server-core/src/ApolloServer.ts +++ b/packages/apollo-server-core/src/ApolloServer.ts @@ -1172,6 +1172,8 @@ export class ApolloServerBase { // (and they're not using `apollo-server` which does that for you). First // we log the error that prevented startup (which means it will get logged // once for every GraphQL operation). + // FIXME the message this error prints is inaccurate in the "shutting down" + // case. this.logStartupError(err); // Now make the operation itself fail. // We intentionally do not re-throw actual startup error as it may contain diff --git a/packages/apollo-server-micro/README.md b/packages/apollo-server-micro/README.md index 0210882897e..16425c68690 100644 --- a/packages/apollo-server-micro/README.md +++ b/packages/apollo-server-micro/README.md @@ -35,8 +35,7 @@ const resolvers = { }; const apolloServer = new ApolloServer({ typeDefs, resolvers }); -await server.start(); -module.exports = apolloServer.createHandler(); +module.exports = apolloServer.start().then(() => apolloServer.createHandler()); ``` 3) `package.json` @@ -87,9 +86,10 @@ const resolvers = { }; const apolloServer = new ApolloServer({ typeDefs, resolvers }); -await server.start(); -const handler = apolloServer.createHandler(); // highlight-line -module.exports = cors((req, res) => req.method === 'OPTIONS' ? res.end() : handler(req, res)) // highlight-line +module.exports = apolloServer.start().then(() => { + const handler = apolloServer.createHandler(); // highlight-line + return cors((req, res) => req.method === 'OPTIONS' ? res.end() : handler(req, res)) // highlight-line +}); ``` 3) `package.json` @@ -139,8 +139,9 @@ const resolvers = { }; const apolloServer = new ApolloServer({ typeDefs, resolvers }); -await server.start(); -module.exports = apolloServer.createHandler({ path: '/data' }); // highlight-line +module.exports = apolloServer.start().then(() => { + return apolloServer.createHandler({ path: '/data' }); // highlight-line +}); ``` 3) `package.json` @@ -192,14 +193,15 @@ const resolvers = { }; const apolloServer = new ApolloServer({ typeDefs, resolvers }); -await server.start(); -const graphqlPath = '/data'; -const graphqlHandler = apolloServer.createHandler({ path: graphqlPath }); -module.exports = router( - get('/', (req, res) => 'Welcome!'), - post(graphqlPath, graphqlHandler), - get(graphqlPath, graphqlHandler), -); +module.exports = apolloServer.start().then(() => { + const graphqlPath = '/data'; + const graphqlHandler = apolloServer.createHandler({ path: graphqlPath }); + return router( + get('/', (req, res) => 'Welcome!'), + post(graphqlPath, graphqlHandler), + get(graphqlPath, graphqlHandler), + ); +}); ``` 3) `package.json`