the statusphere demo reworked into a vite/react app in a monorepo
at main 14 lines 476 B view raw
1import { XRPCError } from '@atproto/xrpc-server' 2import { ErrorRequestHandler } from 'express' 3 4import { AppContext } from '#/context' 5 6export const createHandler: (ctx: AppContext) => ErrorRequestHandler = 7 (ctx) => (err, _req, res, next) => { 8 ctx.logger.error('unexpected internal server error', err) 9 if (res.headersSent) { 10 return next(err) 11 } 12 const serverError = XRPCError.fromError(err) 13 res.status(serverError.type).json(serverError.payload) 14 }