Switch to Hono

This commit is contained in:
Darren Clarke 2026-02-15 08:29:10 +01:00
parent 9601e179bc
commit 9f0e1f8b61
10 changed files with 152 additions and 331 deletions

View file

@ -1,39 +1,29 @@
import * as Hapi from "@hapi/hapi";
import hapiPino from "hapi-pino";
import Schmervice from "@hapipal/schmervice";
import { serve } from "@hono/node-server";
import WhatsappService from "./service.ts";
import {
RegisterBotRoute,
UnverifyBotRoute,
GetBotRoute,
SendMessageRoute,
ReceiveMessageRoute,
} from "./routes.ts";
import { createRoutes } from "./routes.ts";
import { createLogger } from "./lib/logger";
const logger = createLogger("bridge-whatsapp-index");
const server = Hapi.server({ port: 5000 });
const startServer = async () => {
await server.register({ plugin: hapiPino });
server.route(RegisterBotRoute);
server.route(UnverifyBotRoute);
server.route(GetBotRoute);
server.route(SendMessageRoute);
server.route(ReceiveMessageRoute);
await server.register(Schmervice);
server.registerService(WhatsappService);
await server.start();
return server;
};
const main = async () => {
await startServer();
const service = new WhatsappService();
await service.initialize();
const app = createRoutes(service);
const port = parseInt(process.env.PORT || "5000", 10);
serve({ fetch: app.fetch, port }, (info) => {
logger.info({ port: info.port }, "bridge-whatsapp listening");
});
const shutdown = async () => {
logger.info("Shutting down...");
await service.teardown();
process.exit(0);
};
process.on("SIGTERM", shutdown);
process.on("SIGINT", shutdown);
};
main().catch((err) => {