Hono
Hono hands you the raw web Request at c.req.raw, which is exactly what the
handler wants. Mount two routes so both the base path and everything under it
match:
import { Hono } from "hono";
import { bc } from "./breadcrumb";
const app = new Hono();
app.all("/api/breadcrumb", (c) => bc.handler(c.req.raw));
app.all("/api/breadcrumb/*", (c) => bc.handler(c.req.raw));
The first route matches /api/breadcrumb exactly; the second matches everything
beneath it. Both return the handler’s Response directly.
Viewing the traces
This mounts the API. The dashboard is a React component, so
render it from whatever frontend you serve alongside this app, pointed at
api="/api/breadcrumb". If you have no React frontend, query the data directly
with bc.api.
Next steps
- Dashboard: mount the UI.
- Database & migrations: choose an adapter.
- Instrumenting: capture your first trace.