defmodule Arpas.REST.Cae.Api do @moduledoc ~S''' CAE rest ''' alias Arpas.REST.Cae.Env def token do url = Env.token_url() username = "username=#{Env.user()}" password = "password=#{Env.password()}&grant_type=password" client_id = "client_id=GenericClient" client_instance = "client_instance=#{Env.client_instance()}" payload = "#{username}&#{password}&#{client_id}&#{client_instance}" headers = [ {"Accept", "application/json"}, {"Content-Type", "application/x-www-form-urlencoded"}, {"Cache-Control", "no-cache, no-store, must-revalidate"} ] result = case HTTPoison.post(url, payload, headers) do {:ok, %HTTPoison.Response{status_code: 200, body: body}} -> body {:ok, %HTTPoison.Response{status_code: 404}} -> IO.puts("Not found :(") {:error, %HTTPoison.Error{reason: reason}} -> IO.inspect(reason) end IO.puts(result) result end end