28 lines
710 B
Elixir
28 lines
710 B
Elixir
defmodule BalenaDevice.HTTP do
|
|
use HTTPoison.Base
|
|
alias BalenaDevice.Error
|
|
|
|
def process_request_url(url) do
|
|
"#{supervisor_address()}#{url}?apikey=#{supervisor_api_key()}"
|
|
end
|
|
|
|
def process_request_headers(headers) do
|
|
headers
|
|
|> Enum.into(%{})
|
|
|> Map.put_new("content-type", "application/json")
|
|
|> Enum.into([])
|
|
end
|
|
|
|
defp supervisor_address, do: get_env_var("BALENA_SUPERVISOR_ADDRESS")
|
|
defp supervisor_api_key, do: get_env_var("BALENA_SUPERVISOR_API_KEY")
|
|
|
|
defp get_env_var(variable) do
|
|
case System.get_env(variable) do
|
|
var when is_binary(var) ->
|
|
var
|
|
|
|
_ ->
|
|
raise Error, message: "No `#{variable}` environment variable set"
|
|
end
|
|
end
|
|
end
|