defmodule Grazer.Net do
use GenServer
def start_link(arg) do
GenServer.start_link(__MODULE__, arg, name: __MODULE__)
end
def request(req) do
GenServer.cast(__MODULE__, [req: req])
end
@impl true
def init(_init_arg) do
{:ok, []}
end
@impl true
def handle_cast([req: [get: url, for: whom]], state) do
http_opts = [body_format: :binary]
{:ok, resp} = :httpc.request(:get, {url, []}, [], http_opts)
send(whom, [resp: resp])
{:noreply, state}
end
end