Dewy(dǝw-y) is a minimalist HTTP server framework with a small codebase, utilizing built-in URLPattern for efficient routing.
Attributes
Includes Deno configuration
Repository
Current version released
2 years ago
Versions
purehttp
PureHTTP is a minimalist HTTP server framework with a small codebase, utilizing built-in URLPattern for efficient routing.
Usage
with Deno
import { Router } from "https://deno.land/x/purehttp/mod.ts";
const router = new Router();
router.get("/", () => {
return Response.json({
message: "Hello World",
});
});
router.get("/articles/:id", ({ match }) => {
return Response.json({
id: match.pathname.groups.id,
});
});
Deno.serve(router.dispatch.bind(router), {
port: 8080,
});
deno run --allow-net --unstable server.ts
In addition to using Deno.serve
, you can also use the HTTP server from the
standard library by importing https://deno.land/std@0.167.0/http/server.ts
.
Here is an example:
import { serve } from "https://deno.land/std@0.167.0/http/server.ts";
/* ... */
serve(router.dispatch.bind(router), {
port: 8080,
});
Using the HTTP server from the standard library allows you to deploy your application to a Deno Deploy environment.
with NPM
npm install purehttp
Middlewares
CORS
The cors middleware from PureHTTP allows you to easily add CORS (Cross-Origin Resource Sharing) support to your routes.
import { cors } from "https://deno.land/x/purehttp/middlewares/cors.ts";
router.addRoute({
method: ["GET", "POST", "OPTIONS", "CUSTOMMETHOD"],
pattern: "/cors",
middleware: cors({
allowMethods: ["POST", "CUSTOMMETHOD"],
}),
}, () => {
return Response.json({ success: true });
});