✨ verse
A lightweight tool for serving http built on top of the Deno standard library.
This project takes much inspiration from the sift Deno project so thank you @satyarohith for that work.
📦 Importing
import {
serveJson,
serveMarkdown,
serveRemote,
serveStatic,
} from "https://deno.land/x/verse/mod.ts";
📖 Example Usage
This package can be nicley paired with something like Router by Denosaurs
import { serve } from "https://deno.land/std@0.114.0/http/server.ts";
import { router } from "https://crux.land/router@0.0.5";
import { serveJson, serveMarkdown, serveRemote, serveStatic } from "./mod.ts";
const handler = router({
// a single file
"/": serveStatic("./public/index.html"),
// a directory of files (browsing to /public will present a directory listing page)
// note: must include :filename? at end of the path as below
"/public/:filename?": serveStatic("./public"),
// json
"/json": serveJson({ "Hello": "world" }),
// a remote resource
"/todos/:id": serveRemote("https://jsonplaceholder.typicode.com/todos/:id"),
// a markdown file rendered in Github flavored html
"/markdown": serveMarkdown(
"https://raw.githubusercontent.com/billykirk01/verse/master/README.md",
),
});
console.log("Listening on http://localhost:8000");
await serve(handler);