Details

Language / Topic
elixirElixir
Category
Libraries

Rules

balanced
- Build HTTP clients as modules with `use Tesla` and compose middleware: `plug Tesla.Middleware.JSON` for automatic JSON encoding/decoding.
- Use `Tesla.Middleware.BaseUrl` for API base URLs and `Tesla.Middleware.Headers` for default headers like auth tokens.
- Use `Tesla.Middleware.Retry` for transient failures and `Tesla.Middleware.Timeout` — chain middleware in the order they should execute.
- Use `Tesla.Middleware.Headers` for auth tokens and custom headers.
- Use `Tesla.Middleware.Retry` for automatic retry on transient failures.
- Use `Tesla.Middleware.Timeout` to prevent hanging requests.
- Define typed response structs and pattern-match on `{:ok, %Tesla.Env{}}` results.