diff --git a/packages/backend/src/server/api/mastodon/middleware/catch-errors.ts b/packages/backend/src/server/api/mastodon/middleware/catch-errors.ts index f11306cee..918ce1ce6 100644 --- a/packages/backend/src/server/api/mastodon/middleware/catch-errors.ts +++ b/packages/backend/src/server/api/mastodon/middleware/catch-errors.ts @@ -1,5 +1,6 @@ import { MastoContext, logger } from "@/server/api/mastodon/index.js"; import { IdentifiableError } from "@/misc/identifiable-error.js"; +import { ApiError } from "@/server/api/error.js"; export class MastoApiError extends Error { statusCode: number; @@ -29,6 +30,9 @@ export async function CatchErrorsMiddleware(ctx: MastoContext, next: () => Promi else if (e instanceof IdentifiableError) { ctx.status = 400; } + else if (e instanceof ApiError) { + ctx.status = e.httpStatusCode ?? 500; + } else { logger.error(`Error occured in ${ctx.method} ${ctx.path}:`); if (e instanceof Error) {