| import Koa from "koa"; | |
| import bodyParser from "koa-bodyparser"; | |
| import compression from "koa-compress"; | |
| import morgan from "koa-morgan"; | |
| import Router from "koa-router"; | |
| import "dotenv/config"; | |
| const port = 7860; | |
| const app = new Koa(); | |
| app.use(morgan("dev")); | |
| app.use(compression()); | |
| app.use(bodyParser()); | |
| const { API_KEY, API_SECRET, BEARER_TOKEN } = process.env; | |
| const router = new Router(); | |
| app.use(router.routes()); | |
| app.use(router.allowedMethods()); | |
| async function listen() { | |
| try { | |
| const promise = new Promise<void>((resolve, reject) => { | |
| app.listen(port, "localhost", () => resolve()); | |
| app.once("error", (err) => reject(err)); | |
| }); | |
| await promise; | |
| console.log("app started on port", port); | |
| process.send?.("ready"); | |
| } catch (err) { | |
| console.error(err); | |
| } | |
| } | |
| listen(); | |
| process.on("unhandledRejection", async (err) => { | |
| console.error("unhandled rejection", err); | |
| }); | |