http-codex
A simple library for HTTP status codes and methods, adapted from Go's http package.
Usage
Install
# Install using your favorite package manager:
npm install http-codex
pnpm add http-codex
bun add http-codex
yarn add http-codex
Example
import { httpMethod, httpStatus } from 'http-codex'
const res = new Response('hello world!', {
status: httpStatus.OK,
statusText: httpStatus.text(httpStatus.OK),
})
const method = httpMethod.GET
If preferred, status codes and methods can be imported by themselves to reduce bundle size:
import { httpMethod } from 'http-codex/method'
import { httpStatus } from 'http-codex/status'
const status = httpStatus.OK
const method = httpMethod.POST
Additional Helpers
isNullBodyStatus
Helper function that returns whether the status should have a null body:
import { httpStatus, isNullBodyStatus } from 'http-codex'
const res = await fetch(url)
return new Response(isNullBodyStatus(res.status) ? null : res.body, {
})
Bundle Size
Here are the bundle sizes of each import:
http-codex | 4.1 KB | 1.46 KB |
http-codex/status | 1.2 KB | 728 bytes |
http-codex/method | ~200 bytes | ~150 bytes |
Note: http-codex/status is smaller because it excludes the statusText() function. http-codex/method is the smallest as it only contains the HTTP method constants.
Why Another HTTP Status Code Library?
Honestly I just love Go and wanted one that was very similar to how Go's http package works.