A set of APIs that are common to HTTP/HTTPS servers.
Note
Originally most of this code was contributed to the Deno standard library but the maintainers after accepting the contributions have moved to remove this code, so I had to resurrect this library to be able to provide common HTTP functionality.
Each module is designed to be largely independent of other modules, with as few shared dependencies as reasonable. These modules are designed as building blocks for more complex HTTP/HTTPS and server frameworks.
The acorn (a RESTful services framework) and oak are examples of something built on top of oak commons.
Each module/export is designed to be as independent as possible and there is no
top level export, so each area of functionality needs to be imported. For
example, to use status
would look something like this:
import { STATUS_CODE, STATUS_TEXT } from "jsr:@oak/commons/status";
console.log(STATUS_CODE.NotFound); // Returns 404
console.log(STATUS_TEXT[STATUS_CODE.NotFound]); // Returns "Not Found"
The inline documentation for each modules is the best guide on the usage of the APIs:
- /assert - an assertion function that throws HTTP errors when the assertion fails.
- /cookie_map - an API for managing signed and unsigned cookies server side.
- /form_data - the ability to
parse a stream body into
FormData
when this functionality isn't available in the runtime. - /forwarded - a parser for
the
Forwarded
header vale. - /http_errors - utilities for working with HTTP Error status as JavaScript errors.
- /keystack - a key ring implementation to allow for management of rotating encryption keys.
- /media_types - utilities for working with media types from a request.
- /method - utilities for working with HTTP methods/verbs in a type safe way.
- /range - utilities for supporting range requests.
- /server_sent_event - an abstraction for managing server sent events like DOM events.
- /status - utilities for working with HTTP statuses in a type safe way.
Copyright 2018 - 2024 the oak authors. All rights reserved. MIT License.