mirror of
https://github.com/teslamate-org/teslamate.git
synced 2026-01-24 21:06:08 +08:00
18 lines
625 B
Elixir
18 lines
625 B
Elixir
defmodule TeslaApi do
|
|
use Tesla
|
|
|
|
@version Mix.Project.config()[:version]
|
|
|
|
adapter Tesla.Adapter.Finch, name: TeslaMate.HTTP, receive_timeout: 35_000
|
|
|
|
plug Tesla.Middleware.BaseUrl, "https://owner-api.teslamotors.com"
|
|
plug Tesla.Middleware.Headers, [{"user-agent", "TeslaMate/#{@version}"}]
|
|
plug Tesla.Middleware.JSON
|
|
plug TeslaApi.Middleware.TokenAuth
|
|
plug Tesla.Middleware.Logger, debug: true, log_level: &log_level/1
|
|
|
|
defp log_level(%Tesla.Env{} = env) when env.status >= 500, do: :warn
|
|
defp log_level(%Tesla.Env{} = env) when env.status >= 400, do: :info
|
|
defp log_level(%Tesla.Env{}), do: :debug
|
|
end
|