From ef0388360589886192ccf0488482da759e26741f Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Mon, 19 Dec 2022 07:13:11 -0500 Subject: [PATCH] *switch app to using fastify --- src/modules/app.ts | 58 +++++++++------------------------------------- 1 file changed, 11 insertions(+), 47 deletions(-) diff --git a/src/modules/app.ts b/src/modules/app.ts index ee7702d..2cfce39 100644 --- a/src/modules/app.ts +++ b/src/modules/app.ts @@ -1,60 +1,24 @@ -import express, { Express } from "express"; -import http from "http"; import { AddressInfo } from "net"; import log from "loglevel"; +import fastify from "fastify"; +import type { FastifyInstance } from "fastify"; import { getKeyPair } from "../lib/seed.js"; -let app: Express; -let router = express.Router(); -let server: http.Server; - -export function getRouter(): express.Router { - return router; -} - -export function setRouter(newRouter: express.Router): void { - router = newRouter; -} +let app: FastifyInstance; export async function start() { - app = express(); - server = http.createServer(app); - resetRouter(); - await new Promise((resolve) => { - server.listen(80, "0.0.0.0", function () { - const address = server.address() as AddressInfo; - log.info( - "HTTP/App Server started on ", - `${address.address}:${address.port}` - ); - resolve(null); - }); + const keyPair = getKeyPair(); + app = fastify({ + logger: true, }); - app.use(function (req, res, next) { - router(req, res, next); - }); -} + await app.listen({ port: 80, host: "0.0.0.0" }); -export function getApp(): Express { - return app; -} -export function getServer(): http.Server { - return server; -} - -export function resetRouter(): void { - setRouter(newRouter()); -} - -function newRouter(): express.Router { - const router = express.Router(); - - let keyPair = getKeyPair(); - - router.get("/", (req, res) => { + app.get("/", (req, res) => { res.send(Buffer.from(keyPair.publicKey).toString("hex")); }); - return router; + const address = app.server.address() as AddressInfo; + + log.info("HTTP/App Server started on ", `${address.address}:${address.port}`); }