refactor
This commit is contained in:
parent
096117b6b3
commit
d87b6a08d3
|
@ -1,65 +1,61 @@
|
||||||
import { IncomingMessage, ServerResponse } from "http";
|
import { IncomingMessage, ServerResponse } from "http";
|
||||||
import { app, type ElysiaAPI as EAPI } from "./api";
|
import { app, type ElysiaAPI as EAPI } from "./api";
|
||||||
export type ElysiaAPI = EAPI;
|
export type ElysiaAPI = EAPI;
|
||||||
|
import Elysia from "elysia";
|
||||||
import { prepDatabase } from "./database/migrate";
|
import { prepDatabase } from "./database/migrate";
|
||||||
import { env } from "./env";
|
import { env } from "./env";
|
||||||
import next from "next";
|
import next from "next";
|
||||||
// import { createServer } from "http";
|
|
||||||
|
|
||||||
// if this is the main module, start the server
|
prepDatabase();
|
||||||
if (import.meta.main) {
|
|
||||||
prepDatabase();
|
|
||||||
|
|
||||||
// create and register next.js
|
// create and register next.js
|
||||||
const nextApp = next({
|
const nextApp = next({
|
||||||
dev: env.dev,
|
dev: env.dev,
|
||||||
hostname: env.host,
|
hostname: env.host,
|
||||||
port: env.port,
|
port: env.port,
|
||||||
});
|
});
|
||||||
|
|
||||||
await nextApp.prepare();
|
await nextApp.prepare();
|
||||||
const handle = nextApp.getRequestHandler();
|
const handle = nextApp.getRequestHandler();
|
||||||
const upgradeHandle = nextApp.getUpgradeHandler();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles a request from Bun and returns a response
|
* Handles a request from Bun and returns a response
|
||||||
* @param req standard Bun request
|
* @param req standard Bun request
|
||||||
* @returns standard Bun response
|
* @returns standard Bun response
|
||||||
*/
|
*/
|
||||||
const handleBun = (req: Request) => {
|
const handleBun = (req: Request) => {
|
||||||
return new Promise<Response>((resolve) => {
|
return new Promise<Response>((resolve) => {
|
||||||
const start = Date.now();
|
const start = Date.now();
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
|
const http_req = new IncomingMessage(req);
|
||||||
|
const http_res = new ServerResponse({
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const http_req = new IncomingMessage(req);
|
reply: (response) => {
|
||||||
const http_res = new ServerResponse({
|
resolve(response);
|
||||||
// @ts-ignore
|
console.log("🛬 response took " + (Date.now() - start) + "ms");
|
||||||
reply: (response) => {
|
},
|
||||||
resolve(response);
|
|
||||||
console.log("🛬 response took " + (Date.now() - start) + "ms");
|
|
||||||
},
|
|
||||||
|
|
||||||
req: http_req,
|
req: http_req,
|
||||||
});
|
|
||||||
|
|
||||||
console.log("📦 Rendering page: " + req.url);
|
|
||||||
handle(http_req, http_res);
|
|
||||||
});
|
});
|
||||||
};
|
|
||||||
|
|
||||||
app.onRequest(async (ctx) => {
|
console.log("📦 Rendering page: " + req.url);
|
||||||
return await handleBun(ctx.request).catch((err) => {
|
handle(http_req, http_res);
|
||||||
console.log(err);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
|
||||||
app.listen(
|
app.onRequest(async (ctx) => {
|
||||||
{
|
return await handleBun(ctx.request).catch((err) => {
|
||||||
port: env.port,
|
console.log(err);
|
||||||
hostname: env.host,
|
});
|
||||||
},
|
});
|
||||||
(data) => {
|
|
||||||
console.log(`🚀 listening on ${data.hostname}:${data.port}`);
|
app.listen(
|
||||||
}
|
{
|
||||||
);
|
port: env.port,
|
||||||
}
|
hostname: env.host,
|
||||||
|
},
|
||||||
|
(data) => {
|
||||||
|
console.log(`🚀 listening on ${data.hostname}:${data.port}`);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
Loading…
Reference in a new issue