diff --git a/README.md b/README.md index b61727b605f..215665f0cec 100644 --- a/README.md +++ b/README.md @@ -253,7 +253,7 @@ const server = new ApolloServer({ const app = require('fastify')(); (async function () { - app.register(await server.createHandler()); + app.register(server.createHandler()); await app.listen(3000); })(); ``` diff --git a/packages/apollo-server-fastify/README.md b/packages/apollo-server-fastify/README.md index 230569ec2d3..39a322c49af 100644 --- a/packages/apollo-server-fastify/README.md +++ b/packages/apollo-server-fastify/README.md @@ -25,7 +25,7 @@ const server = new ApolloServer({ const app = require('fastify')(); (async function () { - app.register(await server.createHandler()); + app.register(server.createHandler()); await app.listen(3000); })(); ``` diff --git a/packages/apollo-server-fastify/src/ApolloServer.ts b/packages/apollo-server-fastify/src/ApolloServer.ts index f5d215b18a7..69bd4e72826 100644 --- a/packages/apollo-server-fastify/src/ApolloServer.ts +++ b/packages/apollo-server-fastify/src/ApolloServer.ts @@ -36,18 +36,20 @@ export class ApolloServer extends ApolloServerBase { return true; } - public async createHandler({ + public createHandler({ path, cors, disableHealthCheck, onHealthCheck, }: ServerRegistration = {}) { this.graphqlPath = path ? path : '/graphql'; - await this.willStart(); + const promiseWillStart = this.willStart(); return async ( app: FastifyInstance, ) => { + await promiseWillStart; + if (!disableHealthCheck) { app.get('/.well-known/apollo/server-health', async (req, res) => { // Response follows https://tools.ietf.org/html/draft-inadarei-api-health-check-01 diff --git a/packages/apollo-server-fastify/src/__tests__/ApolloServer.test.ts b/packages/apollo-server-fastify/src/__tests__/ApolloServer.test.ts index 68ae1e29d2c..1abf86e5ad0 100644 --- a/packages/apollo-server-fastify/src/__tests__/ApolloServer.test.ts +++ b/packages/apollo-server-fastify/src/__tests__/ApolloServer.test.ts @@ -40,7 +40,7 @@ describe('apollo-server-fastify', () => { async options => { server = new ApolloServer(options); app = fastify(); - app.register(await server.createHandler()); + app.register(server.createHandler()); await app.listen(port); return createServerInfo(server, app.server); }, @@ -64,7 +64,7 @@ describe('apollo-server-fastify', () => { server = new ApolloServer(serverOptions); app = fastify(); - app.register(await server.createHandler(options)); + app.register(server.createHandler(options)); await app.listen(port); return createServerInfo(server, app.server); diff --git a/packages/apollo-server-fastify/src/__tests__/datasource.test.ts b/packages/apollo-server-fastify/src/__tests__/datasource.test.ts index 79d279f0c5f..d7c6d9f5f7d 100644 --- a/packages/apollo-server-fastify/src/__tests__/datasource.test.ts +++ b/packages/apollo-server-fastify/src/__tests__/datasource.test.ts @@ -92,7 +92,7 @@ describe('apollo-server-fastify', () => { }); app = fastify(); - app.register(await server.createHandler()); + app.register(server.createHandler()); await app.listen(6667); const { url: uri } = createServerInfo(server, app.server); @@ -120,7 +120,7 @@ describe('apollo-server-fastify', () => { }); app = fastify(); - app.register(await server.createHandler()); + app.register(server.createHandler()); await app.listen(6668); const { url: uri } = createServerInfo(server, app.server); diff --git a/packages/apollo-server-fastify/src/__tests__/fastifyApollo.test.ts b/packages/apollo-server-fastify/src/__tests__/fastifyApollo.test.ts index c85c0e44b83..d81d4d0126b 100644 --- a/packages/apollo-server-fastify/src/__tests__/fastifyApollo.test.ts +++ b/packages/apollo-server-fastify/src/__tests__/fastifyApollo.test.ts @@ -14,7 +14,7 @@ async function createApp(options: CreateAppOptions = {}) { (options.graphqlOptions as Config) || { schema: Schema }, ); - app.register(await server.createHandler()); + app.register(server.createHandler()); await app.listen(); return app.server;