server/utils/server.ts
2024-07-11 12:56:28 +02:00

23 lines
803 B
TypeScript

import type { Hono } from "@hono/hono";
import type { Config } from "config-manager";
export const createServer = (config: Config, app: Hono) =>
Bun.serve({
port: config.http.bind_port,
reusePort: true,
tls: config.http.tls.enabled
? {
key: Bun.file(config.http.tls.key),
cert: Bun.file(config.http.tls.cert),
passphrase: config.http.tls.passphrase,
ca: config.http.tls.ca
? Bun.file(config.http.tls.ca)
: undefined,
}
: undefined,
hostname: config.http.bind || "0.0.0.0", // defaults to "0.0.0.0"
fetch(req, server) {
return app.fetch(req, { ip: server.requestIP(req) });
},
});