Move errorHandler to a separate file

This commit is contained in:
Alex Gleason 2024-07-04 23:53:20 +01:00
parent 8923a5ee55
commit d4713cae01
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
2 changed files with 13 additions and 6 deletions

View file

@ -108,6 +108,7 @@ import {
trendingStatusesController,
trendingTagsController,
} from '@/controllers/api/trends.ts';
import { errorHandler } from '@/controllers/error.ts';
import { metricsController } from '@/controllers/metrics.ts';
import { indexController } from '@/controllers/site.ts';
import { nodeInfoController, nodeInfoSchemaController } from '@/controllers/well-known/nodeinfo.ts';
@ -340,12 +341,7 @@ app.get('/', frontendController, indexController);
// Fallback
app.get('*', publicFiles, staticFiles, frontendController);
app.onError((err, c) => {
if (err.message === 'canceling statement due to statement timeout') {
return c.json({ error: 'The server was unable to respond in a timely manner' }, 500);
}
return c.json({ error: 'Something went wrong' }, 500);
});
app.onError(errorHandler);
export default app;

11
src/controllers/error.ts Normal file
View file

@ -0,0 +1,11 @@
import { ErrorHandler } from '@hono/hono';
export const errorHandler: ErrorHandler = (err, c) => {
console.error(err);
if (err.message === 'canceling statement due to statement timeout') {
return c.json({ error: 'The server was unable to respond in a timely manner' }, 500);
}
return c.json({ error: 'Something went wrong' }, 500);
};