Add links to upstream Pleroma files
(rename AP tests module names too) Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
eaa4c347ca
commit
caae6d0c0a
|
@ -1,3 +1,8 @@
|
||||||
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/activity_pub/activity_pub_controller.ex
|
||||||
|
|
||||||
defmodule MobilizonWeb.ActivityPubController do
|
defmodule MobilizonWeb.ActivityPubController do
|
||||||
use MobilizonWeb, :controller
|
use MobilizonWeb, :controller
|
||||||
alias Mobilizon.{Actors, Actors.Actor, Events}
|
alias Mobilizon.{Actors, Actors.Actor, Events}
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
|
||||||
|
|
||||||
defmodule MobilizonWeb.NodeInfoController do
|
defmodule MobilizonWeb.NodeInfoController do
|
||||||
use MobilizonWeb, :controller
|
use MobilizonWeb, :controller
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/web_finger/web_finger_controller.ex
|
||||||
|
|
||||||
defmodule MobilizonWeb.WebFingerController do
|
defmodule MobilizonWeb.WebFingerController do
|
||||||
use MobilizonWeb, :controller
|
use MobilizonWeb, :controller
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/plugs/http_signature.ex
|
||||||
|
|
||||||
defmodule MobilizonWeb.HTTPSignaturePlug do
|
defmodule MobilizonWeb.HTTPSignaturePlug do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
# HTTPSignaturePlug
|
# HTTPSignaturePlug
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
# Portions of this file are derived from Pleroma:
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/activity_pub/activity_pub.ex
|
||||||
|
|
||||||
defmodule Mobilizon.Service.ActivityPub do
|
defmodule Mobilizon.Service.ActivityPub do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
# Portions of this file are derived from Pleroma:
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/activity_pub/transmogrifier.ex
|
||||||
|
|
||||||
defmodule Mobilizon.Service.ActivityPub.Transmogrifier do
|
defmodule Mobilizon.Service.ActivityPub.Transmogrifier do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
# Portions of this file are derived from Pleroma:
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/activity_pub/utils.ex
|
||||||
|
|
||||||
defmodule Mobilizon.Service.ActivityPub.Utils do
|
defmodule Mobilizon.Service.ActivityPub.Utils do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
# Portions of this file are derived from Pleroma:
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/federator/federator.ex
|
||||||
|
|
||||||
defmodule Mobilizon.Service.Federator do
|
defmodule Mobilizon.Service.Federator do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
# Portions of this file are derived from Pleroma:
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/formatter.ex
|
||||||
|
|
||||||
defmodule Mobilizon.Service.Formatter do
|
defmodule Mobilizon.Service.Formatter do
|
||||||
alias Mobilizon.Actors.Actor
|
alias Mobilizon.Actors.Actor
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
# Portions of this file are derived from Pleroma:
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/http_signatures/http_signatures.ex
|
||||||
|
|
||||||
# https://tools.ietf.org/html/draft-cavage-http-signatures-08
|
# https://tools.ietf.org/html/draft-cavage-http-signatures-08
|
||||||
defmodule Mobilizon.Service.HTTPSignatures do
|
defmodule Mobilizon.Service.HTTPSignatures do
|
||||||
|
|
|
@ -1,95 +0,0 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
|
|
||||||
defmodule Mobilizon.Service.Streamer do
|
|
||||||
@moduledoc """
|
|
||||||
# Streamer
|
|
||||||
|
|
||||||
Handles streaming activities
|
|
||||||
"""
|
|
||||||
|
|
||||||
use GenServer
|
|
||||||
require Logger
|
|
||||||
|
|
||||||
def init(args) do
|
|
||||||
{:ok, args}
|
|
||||||
end
|
|
||||||
|
|
||||||
def start_link do
|
|
||||||
spawn(fn ->
|
|
||||||
# 30 seconds
|
|
||||||
Process.sleep(1000 * 30)
|
|
||||||
GenServer.cast(__MODULE__, %{action: :ping})
|
|
||||||
end)
|
|
||||||
|
|
||||||
GenServer.start_link(__MODULE__, %{}, name: __MODULE__)
|
|
||||||
end
|
|
||||||
|
|
||||||
def add_socket(topic, socket) do
|
|
||||||
GenServer.cast(__MODULE__, %{action: :add, socket: socket, topic: topic})
|
|
||||||
end
|
|
||||||
|
|
||||||
def remove_socket(topic, socket) do
|
|
||||||
GenServer.cast(__MODULE__, %{action: :remove, socket: socket, topic: topic})
|
|
||||||
end
|
|
||||||
|
|
||||||
def stream(topic, item) do
|
|
||||||
GenServer.cast(__MODULE__, %{action: :stream, topic: topic, item: item})
|
|
||||||
end
|
|
||||||
|
|
||||||
def handle_cast(%{action: :ping}, topics) do
|
|
||||||
topics
|
|
||||||
|> Map.values()
|
|
||||||
|> List.flatten()
|
|
||||||
|> Enum.each(fn socket ->
|
|
||||||
Logger.debug("Sending keepalive ping")
|
|
||||||
send(socket.transport_pid, {:text, ""})
|
|
||||||
end)
|
|
||||||
|
|
||||||
spawn(fn ->
|
|
||||||
# 30 seconds
|
|
||||||
Process.sleep(1000 * 30)
|
|
||||||
GenServer.cast(__MODULE__, %{action: :ping})
|
|
||||||
end)
|
|
||||||
|
|
||||||
{:noreply, topics}
|
|
||||||
end
|
|
||||||
|
|
||||||
def handle_cast(%{action: :add, topic: topic, socket: socket}, sockets) do
|
|
||||||
topic = internal_topic(topic, socket)
|
|
||||||
sockets_for_topic = sockets[topic] || []
|
|
||||||
sockets_for_topic = Enum.uniq([socket | sockets_for_topic])
|
|
||||||
sockets = Map.put(sockets, topic, sockets_for_topic)
|
|
||||||
|
|
||||||
Logger.debug(fn ->
|
|
||||||
"Got new conn for #{topic}"
|
|
||||||
end)
|
|
||||||
|
|
||||||
{:noreply, sockets}
|
|
||||||
end
|
|
||||||
|
|
||||||
def handle_cast(%{action: :remove, topic: topic, socket: socket}, sockets) do
|
|
||||||
topic = internal_topic(topic, socket)
|
|
||||||
sockets_for_topic = sockets[topic] || []
|
|
||||||
sockets_for_topic = List.delete(sockets_for_topic, socket)
|
|
||||||
sockets = Map.put(sockets, topic, sockets_for_topic)
|
|
||||||
|
|
||||||
Logger.debug(fn ->
|
|
||||||
"Removed conn for #{topic}"
|
|
||||||
end)
|
|
||||||
|
|
||||||
{:noreply, sockets}
|
|
||||||
end
|
|
||||||
|
|
||||||
def handle_cast(m, state) do
|
|
||||||
Logger.info("Unknown: #{inspect(m)}, #{inspect(state)}")
|
|
||||||
{:noreply, state}
|
|
||||||
end
|
|
||||||
|
|
||||||
defp internal_topic("user", socket) do
|
|
||||||
"user:#{socket.assigns[:user].id}"
|
|
||||||
end
|
|
||||||
|
|
||||||
defp internal_topic(topic, _), do: topic
|
|
||||||
end
|
|
|
@ -1,12 +1,13 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
# Portions of this file are derived from Pleroma:
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/pleroma/web/web_finger/web_finger.ex
|
||||||
|
|
||||||
defmodule Mobilizon.Service.WebFinger do
|
defmodule Mobilizon.Service.WebFinger do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
# WebFinger
|
# WebFinger
|
||||||
|
|
||||||
Performs the WebFinger requests and responses (json only)
|
Performs the WebFinger requests and responses (JSON only)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
alias Mobilizon.Actors
|
alias Mobilizon.Actors
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
# Portions of this file are derived from Pleroma:
|
# Portions of this file are derived from Pleroma:
|
||||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
# SPDX-License-Identifier: AGPL-3.0-only
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/lib/xml_builder.ex
|
||||||
|
|
||||||
defmodule Mobilizon.Service.XmlBuilder do
|
defmodule Mobilizon.Service.XmlBuilder do
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
XML Builder.
|
XML Builder.
|
||||||
|
|
||||||
Do we still need this ? Only for xrd ?
|
Needed to build XRD for webfinger host_meta
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def to_xml({tag, attributes, content}) do
|
def to_xml({tag, attributes, content}) do
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
defmodule Mobilizon.Service.Activitypub.ActivitypubTest do
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/test/web/activity_pub/activity_pub_test.exs
|
||||||
|
|
||||||
|
defmodule Mobilizon.Service.ActivityPub.ActivityPubTest do
|
||||||
use Mobilizon.DataCase
|
use Mobilizon.DataCase
|
||||||
|
|
||||||
import Mobilizon.Factory
|
import Mobilizon.Factory
|
|
@ -1,4 +1,10 @@
|
||||||
defmodule Mobilizon.Service.Activitypub.TransmogrifierTest do
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/test/web/activity_pub/transmogrifier_test.exs
|
||||||
|
|
||||||
|
defmodule Mobilizon.Service.ActivityPub.TransmogrifierTest do
|
||||||
|
|
||||||
use Mobilizon.DataCase
|
use Mobilizon.DataCase
|
||||||
|
|
||||||
import Mobilizon.Factory
|
import Mobilizon.Factory
|
|
@ -1,4 +1,4 @@
|
||||||
defmodule Mobilizon.Service.Activitypub.UtilsTest do
|
defmodule Mobilizon.Service.ActivityPub.UtilsTest do
|
||||||
use Mobilizon.DataCase
|
use Mobilizon.DataCase
|
||||||
import Mobilizon.Factory
|
import Mobilizon.Factory
|
||||||
alias Mobilizon.Service.ActivityPub.Utils
|
alias Mobilizon.Service.ActivityPub.Utils
|
|
@ -1,3 +1,8 @@
|
||||||
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/test/web/web_finger/web_finger_test.exs
|
||||||
|
|
||||||
defmodule Mobilizon.Service.WebFingerTest do
|
defmodule Mobilizon.Service.WebFingerTest do
|
||||||
use Mobilizon.DataCase
|
use Mobilizon.DataCase
|
||||||
alias Mobilizon.Service.WebFinger
|
alias Mobilizon.Service.WebFinger
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/test/web/web_finger/web_finger_controller_test.exs
|
||||||
|
|
||||||
defmodule MobilizonWeb.ActivityPubControllerTest do
|
defmodule MobilizonWeb.ActivityPubControllerTest do
|
||||||
use MobilizonWeb.ConnCase
|
use MobilizonWeb.ConnCase
|
||||||
import Mobilizon.Factory
|
import Mobilizon.Factory
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
# Portions of this file are derived from Pleroma:
|
||||||
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/test/web/web_finger/web_finger_test.exs
|
||||||
|
|
||||||
defmodule MobilizonWeb.WebFingerTest do
|
defmodule MobilizonWeb.WebFingerTest do
|
||||||
use MobilizonWeb.ConnCase
|
use MobilizonWeb.ConnCase
|
||||||
alias Mobilizon.Actors.Actor
|
alias Mobilizon.Actors.Actor
|
||||||
|
|
Loading…
Reference in a new issue