import { Application, Router } from "https://deno.land/x/oak/mod.ts"; import { getImage, uploadImage, deleteImage, chunks, mergeChunks, announce, site, icons} from './routes.ts'; import "https://deno.land/std@0.178.0/dotenv/load.ts"; const router = new Router(); router.get('/', async(ctx: RouterContext, next: any) => { try { await ctx.send({ root: `${Deno.cwd()}/site`, index: "index.html" }) } catch { await next() } }) .get('/:filename', site) .get('/i/:filename', icons) .post('/upload', uploadImage) .post('/announce', announce) .post('/uploadchunk', chunks) .post('/finish', mergeChunks) .delete('/image/:filename', deleteImage) .get('/image/:filename', getImage) const app = new Application(); app.use(router.routes()) app.use(router.allowedMethods()); app.listen({ port: Deno.env.get("PORT") }); console.log(`Server is running on port ${Deno.env.get("PORT")}`)