Skip to main content

Built and signed on GitHub Actions

A set of APIs for handling HTTP and HTTPS requests 🐿️

This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score
2 weeks ago (0.13.0)

oak commons score

ci codecov

A set of APIs that are common to HTTP/HTTPS servers.


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.

Built and signed on
GitHub Actions
View transparency log