Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import { Context } from 'hono';
import { openApiStore } from '../store/openApiStore.js';
export const apiDocGenerator = async (c: Context, next: () => Promise<void>) => {
await next();
// Record the API call in OpenAPI format
openApiStore.recordEndpoint(
c.req.path,
c.req.method.toLowerCase(),
{
query: Object.fromEntries(new URL(c.req.url).searchParams),
body: await c.req.json().catch(() => null),
contentType: c.req.header('content-type') || 'application/json',
},
{
status: c.res.status,
body: await c.res.clone().json().catch(() => null),
contentType: c.res.headers.get('content-type') || 'application/json',
}
);
}; |