Skip to main content
Module

x/acorn/mod.ts

A focused RESTful server framework for Deno 🌰🦕
Go to Latest
import * as acorn from "https://deno.land/x/acorn@0.4.0/mod.ts";

Provides a router which specifically tailored for providing RESTful endpoints.

Example

import { Router } from "https://deno.land/x/acorn/mod.ts";

const router = new Router();

router.get("/", () => ({ hello: "world" }));

const BOOKS = {
  "1": { title: "The Hound of the Baskervilles" },
  "2": { title: "It" },
};

router.get("/books/:id", (ctx) => BOOKS[ctx.params.id]);

router.listen({ port: 3000 });

Classes

An object that provides context for the associated request and response. This is passed as the first argument to every route handler.

A DOM like event emitted by the router when a request has been handled.

An abstraction for Deno's built in HTTP Server that is used to manage HTTP requests in a uniform way.

A DOM like event that is emitted from the router when any request did not match any routes.

A router which is specifically geared for handling RESTful type of requests and providing a straight forward API to respond to them.

Error events from the router will be of this type, which provides additional context about the error and provides a way to override the default behaviors of the router.

The event class that is emitted when the router starts listening.

An event that is raised when the router is processing an event. If the event's response property is set after the event completes its dispatch, then the value will be used to send the response, otherwise the router will attempt to match a route.

Functions

A handler which allows easy implementation of authorization for a route.

Intended to provide an immutable response handler for a route.

Interfaces

The interface to allow handling of request bodies in a structured way.

An abstract interface for cryptographic key rings that can be used to sign cookies.

The interface for route handlers, which are provided via a context argument. The route handler is expected to return a RouteResponse or undefined if it cannot handle the request, which will typically result in a 404 being returned to the client.

Options that can be specified when adding a route to the router.

An interface of route options which also includes the handler, intended to make it easy to provide a single object to register a route.

Options which can be used when creating a new router.

The init for a RouterRequestEvent.

An interface for handling the responses from a route handler in a structured way.

Type Aliases

The type alias to help infer what the route parameters are for a route based on the route string.

Valid return values from a route handler.

Types of data that can be signed cryptographically.

Types of keys that can be used to sign data.