Current section
Files
Jump to
Current section
Files
lib/sirene_base.ex
defmodule SireneBase do
@moduledoc false
defmacro __using__(_) do
quote do
import JWT
end
end
use HTTPoison.Base
alias Jason
alias JWT
alias GenServer
def process_request_url(url) do
"https://api.insee.fr/entreprises/sirene/V3" <> url
end
def process_request_headers(_headers) do
jwt = GenServer.call(SireneWorker, :get)
[{"Authorization", "Bearer #{jwt.access_token}"}, {"Accept", "application/json"}]
end
def get_jwt do
case JWT.post("", nil, "") do
{:ok, %HTTPoison.Response{body: body}} ->
body
|> Jason.decode!()
{:error, reason} ->
IO.inspect(reason)
end
end
end