README.md

# HttpStatus

`HttpStatus` is an Elixir protocol that allows you to convert HTTP status values from one type to another.

It is currently implemented for `Integer`, `String` (BitString) and `Atom`

Documentation can be found on [HexDocs](https://hexdocs.pm/ex_http_status)

## Installation

The package can be installed via [Hex](https://hex.pm)
by adding `ex_http_status` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:ex_http_status, "~> 0.1.0"}
  ]
end
```

## Usage

#### From a string or integer, to an atom

```elixir
iex> HttpStatus.to_atom(200)
:ok

iex> HttpStatus.to_atom(404)
:not_found

iex> HttpStatus.to_atom("OK")
:ok

iex> HttpStatus.to_atom("Not Found")
:not_found
```

#### From an atom or string, to integer code

```elixir
iex> HttpStatus.to_code(:ok)
200

iex> HttpStatus.to_code(:not_found)
404

iex> HttpStatus.to_code("OK")
200

iex> HttpStatus.to_code("Not Found")
404
```

#### From an integer or atom, to string

```elixir
iex> HttpStatus.to_string(200)
"OK"

iex> HttpStatus.to_string(404)
"Not Found"

iex> HttpStatus.to_string(:ok)
"OK"

iex> HttpStatus.to_string(:not_found)
"Not Found"
```

License: MIT