import { createMiddleware } from 'hono/factory' type Env = { DB: D1Database API_TOKEN: string } export const bearerAuth = (expectedToken: string) => createMiddleware<{ Bindings: Env }>(async (c, next) => { const header = c.req.header('Authorization') if (!header?.startsWith('Bearer ')) { return c.json({ error: 'Missing or invalid Authorization header' }, 401) } const token = header.slice(7) if (token !== expectedToken) { return c.json({ error: 'Invalid token' }, 401) } await next() })