|
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); |
|
}); |
|
|