# `Charon.Utils`
[🔗](https://github.com/weareyipyip/charon/blob/v4.3.0/lib/charon/utils.ex#L1)

Utility functions, mainly getters and setters for module internals.

# `get_auth_error`

```elixir
@spec get_auth_error(Plug.Conn.t()) :: binary() | nil
```

Get auth errors, if present.

# `get_bearer_token`

```elixir
@spec get_bearer_token(Plug.Conn.t()) :: map() | nil
```

Get the bearer token, if present.

# `get_bearer_token_payload`

```elixir
@spec get_bearer_token_payload(Plug.Conn.t()) :: map() | nil
```

Get the payload of the bearer token, if present.

# `get_session`

```elixir
@spec get_session(Plug.Conn.t()) :: Charon.Models.Session.t() | nil
```

Get current session, if present.

# `get_token_transport`
*since 3.1.0* 

```elixir
@spec get_token_transport(Plug.Conn.t()) :: atom() | nil
```

Get token transport mechanism, if present.

# `get_tokens`

```elixir
@spec get_tokens(Plug.Conn.t()) :: Charon.Models.Tokens.t() | nil
```

Get tokens, if present.

# `set_auth_error`

```elixir
@spec set_auth_error(Plug.Conn.t(), any()) :: Plug.Conn.t()
```

Put an auth error on the conn

# `set_session`

```elixir
@spec set_session(Plug.Conn.t(), any()) :: Plug.Conn.t()
```

Put a session on the conn

# `set_token`

```elixir
@spec set_token(Plug.Conn.t(), any()) :: Plug.Conn.t()
```

Put a token on the conn

# `set_token_payload`

```elixir
@spec set_token_payload(Plug.Conn.t(), any()) :: Plug.Conn.t()
```

Put a token payload on the conn

---

*Consult [api-reference.md](api-reference.md) for complete listing*
