File size: 823 Bytes
1b44660
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { Hono } from 'hono';
import { trimTrailingSlash } from 'hono/trailing-slash';
import type { Env } from './index';
import durableObjectsRouter from './routers/durableObjects.router';
import eventsRouter from './routers/events.router';
import openGraph from './routers/openGraph.router';
import reportsRouter from './routers/reports.router';
import sourcesRouter from './routers/sources.router';

export type HonoEnv = { Bindings: Env };

const app = new Hono<HonoEnv>()
  .use(trimTrailingSlash())
  .get('/favicon.ico', async c => c.notFound()) // disable favicon
  .route('/reports', reportsRouter)
  .route('/sources', sourcesRouter)
  .route('/openGraph', openGraph)
  .route('/events', eventsRouter)
  .route('/do', durableObjectsRouter)
  .get('/ping', async c => c.json({ pong: true }));

export default app;