Hey is a decentralized and permissionless social media app built with Lens Protocol 馃尶
1import { serve } from "@hono/node-server";
2import "dotenv/config";
3import { Status } from "@hey/data/enums";
4import { withPrefix } from "@hey/helpers/logger";
5import { Hono } from "hono";
6import authContext from "./context/authContext";
7import cors from "./middlewares/cors";
8import cronRouter from "./routes/cron";
9import ensRouter from "./routes/ens";
10import metadataRouter from "./routes/metadata";
11import oembedRouter from "./routes/oembed";
12import ogRouter from "./routes/og";
13import ping from "./routes/ping";
14
15const log = withPrefix("[API]");
16
17const app = new Hono();
18
19app.use(cors);
20app.use(authContext);
21
22app.get("/ping", ping);
23app.route("/cron", cronRouter);
24app.route("/metadata", metadataRouter);
25app.route("/oembed", oembedRouter);
26app.route("/og", ogRouter);
27app.route("/ens", ensRouter);
28
29app.notFound((ctx) =>
30 ctx.json({ error: "Not Found", status: Status.Error }, 404)
31);
32
33serve({ fetch: app.fetch, port: 4784 }, (info) => {
34 log.info(`Server running on port ${info.port}`);
35});