X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fweb.ex;h=a81e3e6e19bab963922d31accb53629d3b082ec4;hb=96014f8e0b7bc6b28170f06914ef646f3f22ecfc;hp=f392af2ca17e016933814720ebaeaebdfc72c6a3;hpb=a93f3421a704d6728a856d5d82cdbf9c43f3f897;p=akkoma diff --git a/lib/pleroma/web/web.ex b/lib/pleroma/web/web.ex index f392af2ca..a81e3e6e1 100644 --- a/lib/pleroma/web/web.ex +++ b/lib/pleroma/web/web.ex @@ -60,4 +60,28 @@ defmodule Pleroma.Web do defmacro __using__(which) when is_atom(which) do apply(__MODULE__, which, []) end + + def host do + settings = Application.get_env(:pleroma, Pleroma.Web.Endpoint) + settings + |> Keyword.fetch!(:url) + |> Keyword.fetch!(:host) + end + + def base_url do + settings = Application.get_env(:pleroma, Pleroma.Web.Endpoint) + + host = host() + + protocol = settings |> Keyword.fetch!(:protocol) + + port_fragment = with {:ok, protocol_info} <- settings |> Keyword.fetch(String.to_atom(protocol)), + {:ok, port} <- protocol_info |> Keyword.fetch(:port) + do + ":#{port}" + else _e -> + "" + end + "#{protocol}://#{host}#{port_fragment}" + end end