# heman Heman is the CLI for the [http-status-codes2][hsc2], a library containing the HTTP error [code registry][iana]. The library also contains an unofficial code registry of a handful of arbitrarily selected error codes which have been proposed or used with some degree of popularity. This unofficial registry can be optionally included in the query. ## Name The name *heman* comes from *H*TTP *E*rror *Man*ual. ## Installation ``` cargo install heman ``` ## Command Line Interface (CLI) Use `heman help` for instructions how to use the CLI. ### Examples Find what code 401 means: ``` $ heman code 401 401 Unauthorized ``` Find the error codes for redirects: ``` $ heman search redirect 307 Temporary Redirect 308 Permanent Redirect ``` ### Unofficial Code Registry To include the unofficial error code registry in the search queries, pass the `--unofficial` flag: ``` $ heman --unofficial search pot 418 I'm a teapot ``` ### Reference, Link To see the reference to the HTTP error, use the `--reference` flag. For a link to that reference, use `--link`: ``` $ heman --reference code 403 403 Forbidden, [RFC9110, Section 15.5.4] $ heman --link search timeout 408 Request Timeout, https://www.rfc-editor.org/rfc/rfc9110.html#section-15.5.9 504 Gateway Timeout, https://www.rfc-editor.org/rfc/rfc9110.html#section-15.6.5 $ heman -rl code 300 300 Multiple Choices, [RFC9110, Section 15.4.1], https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4.1 ``` ### Environment Variables Instead of the CLI flags you can set environment variables: | flag | variable | | ---------- | ----------------------------------- | | reference | `HEMAN_OUTPUT_REFERENCE` | | link | `HEMAN_OUTPUT_LINK` | | unofficial | `HEMAN_INCLUDE_UNOFFICIAL_REGISTRY` | ``` $ HEMAN_INCLUDE_UNOFFICIAL_REGISTRY=1 $ HEMAN_OUTPUT_REFERENCE=1 $ heman search pot 418 I'm a teapot, [RFC2324, Section 2.3.2] ``` ### Note The heman CLI only checks if one of these environment variables is set. The value does not matter. # Acknowledgements * IANA's [Hypertext Transfer Protocol (HTTP) Status Code Registry][iana] * Evert Pot's [Series of posts on HTTP status codes][evert] [iana]: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml [evert]: https://evertpot.com/http/ [hsc2]: https://crates.io/crates/http-status-codes2/