Packages

Load a single beam file, an app (a set of beams), or an erlang release (a set of apps) to a node.

Current section

Files

Jump to
ex_loader lib adapters http.ex
Raw

lib/adapters/http.ex

defmodule ExLoader.Adapters.Http do
@moduledoc false
@behaviour ExLoader.Adapter
def valid?(src) do
{:ok, %HTTPoison.Response{status_code: code}} = HTTPoison.head(src)
case code do
200 -> true
_ -> false
end
end
def get_content(src) do
{:ok, %HTTPoison.Response{status_code: code, body: body}} = HTTPoison.get(src)
case code do
200 ->
{:ok, body}
_ ->
{:error, %{msg: "cannot read file #{src}. Reason: #{inspect(code)}", reason: code}}
end
end
end