social bookmarking for atproto
1/*
2 * clippr: a social bookmarking service for the AT Protocol
3 * Copyright (c) 2025 clippr contributors.
4 * SPDX-License-Identifier: AGPL-3.0-only
5 */
6
7import { Hono } from "hono";
8import misc from "./routes/misc.js";
9import openapi from "./routes/openapi.js";
10import xrpc from "./routes/xrpc.js";
11import wellKnown from "./routes/well-known.js";
12import Logger from "./logger.js";
13import { logger } from "hono/logger";
14import { cors } from "hono/cors";
15
16export function winstonLogger(message: string, ...rest: unknown[]) {
17 Logger.http(message, ...rest);
18}
19
20const app = new Hono();
21app.use(logger(winstonLogger));
22app.use(cors());
23
24// Link all routes up
25app.route("/", misc);
26app.route("/", openapi);
27app.route("/", wellKnown);
28app.route("/xrpc", xrpc);
29
30export default app;