+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.Web do
@moduledoc """
A module that keeps using definitions for controllers,
def view do
quote do
- use Phoenix.View, root: "lib/pleroma/web/templates",
- namespace: Pleroma.Web
+ use Phoenix.View,
+ root: "lib/pleroma/web/templates",
+ namespace: Pleroma.Web
# Import convenience functions from controllers
import Phoenix.Controller, only: [get_csrf_token: 0, get_flash: 2, view_module: 1]
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}"
+ Pleroma.Web.Endpoint.url()
end
end