Teapot
Utilities for working with HTTP status codes, errors, and more.
Teapot is an HTTP utility library for JavaScript, which leverages the Node.js HTTP library. It provides the following:
- The ability to get an HTTP status code:
teapot.status(404)
andteapot.status('not found')
would both return404
. - Useful error classes to represent HTTP error codes:
HTTPError
: Base class to represent an HTTP errorClientError
andServerError
: Classes to represent 4xx and 5xx errors- Classes for every unique HTTP error status code, ranging from
NotImplementedError
toPaymentRequiredError
- A function to generate one of the HTTP error classes from a status code:
teapot.error(404)
would return an instance ofNotFoundError
. Great when handling responses from third-party APIs, when you might not know what status codes to expect all the time.
TypeScript definitions are included as well.
Installation
With yarn
:
$ yarn add node-teapot
With npm
:
$ npm install node-teapot
Usage
Get a status code
There are a variety of ways to get a status code from a number or string message:
teapotstatuscode404; // 404teapotstatuscode'not implemented'; // 405 teapotstatuscodes'BAD GATEWAY'; // 502 teapotstatusMOVED_PERMANENTLY; // 301
Get a canned status message
teapotstatus200; // "OK"
Create an HTTP error
Teapot's errors are compatible with Koa and Express:
throw 'Oops! Something went wrong.';
Generate an error from a status code
teapot // returns instance of InternalServerErrorteapot // throws error because 204 is not an error code teapot
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT License. See LICENSE file for details.