Catch the highlights of GraphQLConf 2023! Click for recordings. Or check out our recap blog post.
Documentation
Modules
use/fastify

Module: use/fastify

Interfaces

Server/fastify

HandlerOptions

Ƭ HandlerOptions<Context>: HandlerOptions<FastifyRequest, RequestContext, Context>

Type parameters

NameType
Contextextends OperationContext = undefined

Defined in

src/use/fastify.ts:18


createHandler

createHandler<Context>(options): (req: FastifyRequest, reply: FastifyReply) => Promise<void>

The ready-to-use handler for fastify.

Errors thrown from the provided options or callbacks (or even due to library misuse or potential bugs) will reject the handler or bubble to the returned iterator. They are considered internal errors and you should take care of them accordingly.

For production environments, its recommended not to transmit the exact internal error details to the client, but instead report to an error logging tool or simply the console.

import Fastify from 'fastify'; // yarn add fastify
import { createHandler } from 'graphql-sse/lib/use/fastify';
 
const handler = createHandler({ schema });
 
const fastify = Fastify();
 
fastify.all('/graphql/stream', async (req, reply) => {
  try {
    await handler(req, reply);
  } catch (err) {
    console.error(err);
    reply.code(500).send();
  }
});
 
fastify.listen({ port: 4000 });
console.log('Listening to port 4000');

Type parameters

NameType
Contextextends OperationContext = undefined

Parameters

NameType
optionsHandlerOptions<Context>

Returns

fn

▸ (req, reply): Promise<void>

Parameters
NameType
reqFastifyRequest
replyFastifyReply
Returns

Promise<void>

Defined in

src/use/fastify.ts:56