filehost/server.ts
2023-08-12 06:25:45 +03:00

35 lines
888 B
TypeScript

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")}`)