Skip to main content

errorHandlerPlugin

API Docs


Variable: errorHandlerPlugin()

const errorHandlerPlugin: (fastify) => Promise<void>

Defined in: src/fastifyPlugins/errorHandler.ts:45

Global Fastify error handler plugin that provides unified error responses.

This plugin registers a global error handler that:

  • Transforms all errors into standardized response format
  • Adds correlation IDs for request tracing
  • Maps error codes to appropriate HTTP status codes
  • Provides structured logging with error context
  • Handles various error types (TalawaRestError, validation errors, generic errors)

The error handler ensures consistent error responses across all REST endpoints and integrates with the error transformation system.

Parameters​

fastify​

FastifyInstance

The Fastify instance to register the error handler on

Returns​

Promise<void>

Example​

// Register the plugin
await fastify.register(errorHandlerPlugin);

// Now all routes can throw structured errors
fastify.get('/users/:id', async (request) => {
const user = await findUser(request.params.id);
if (!user) {
throw new TalawaRestError({
code: ErrorCode.NOT_FOUND,
message: 'User not found',
details: { userId: request.params.id }
});
}
return user;
});