fix(api): return standard error shape for unhandled public API 500s#809
This commit is contained in:
@@ -1,9 +1,17 @@
|
|||||||
|
import * as Sentry from '@sentry/node';
|
||||||
|
|
||||||
import { Hono } from '@api/utils/hono';
|
import { Hono } from '@api/utils/hono';
|
||||||
import { publicApiCors } from '@api/middlewares/cors';
|
import { publicApiCors } from '@api/middlewares/cors';
|
||||||
|
import { ErrorCodes, handlePublicApiError } from '@api/utils/errors';
|
||||||
import { v1AudienceRouter } from './audience';
|
import { v1AudienceRouter } from './audience';
|
||||||
import { v1CoursesRouter } from './courses';
|
import { v1CoursesRouter } from './courses';
|
||||||
|
|
||||||
export const v1Router = new Hono()
|
export const v1Router = new Hono()
|
||||||
.use('*', publicApiCors)
|
.use('*', publicApiCors)
|
||||||
.route('/audience', v1AudienceRouter)
|
.route('/audience', v1AudienceRouter)
|
||||||
.route('/courses', v1CoursesRouter);
|
.route('/courses', v1CoursesRouter)
|
||||||
|
.onError((err, c) => {
|
||||||
|
console.error('Public API error:', err);
|
||||||
|
Sentry.captureException(err);
|
||||||
|
return handlePublicApiError(c, err, 'Internal Server Error', ErrorCodes.INTERNAL_ERROR);
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user