aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/instances.ex
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2019-01-24 19:15:23 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2019-01-24 19:15:23 +0300
commit3e9399ec0b498c0c9783ccb0fea9f682c8b9d0ca (patch)
tree9fe891c45283c89fe11e4a53d49a4c91c8fdf52c /lib/pleroma/instances.ex
parent8654a591f08c7d8d5d61f075906f0c6907e877bb (diff)
downloadpleroma-3e9399ec0b498c0c9783ccb0fea9f682c8b9d0ca.tar.gz
[#534] Optimized bulk publish ops to filter on reachability early. `Instance` refactoring.
Diffstat (limited to 'lib/pleroma/instances.ex')
-rw-r--r--lib/pleroma/instances.ex9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/pleroma/instances.ex b/lib/pleroma/instances.ex
index 25b739520..6d445d6b3 100644
--- a/lib/pleroma/instances.ex
+++ b/lib/pleroma/instances.ex
@@ -3,10 +3,19 @@ defmodule Pleroma.Instances do
@adapter Pleroma.Instances.Instance
+ defdelegate filter_reachable(urls), to: @adapter
defdelegate reachable?(url), to: @adapter
defdelegate set_reachable(url), to: @adapter
defdelegate set_unreachable(url, unreachable_since \\ nil), to: @adapter
def reachability_time_threshold,
do: NaiveDateTime.add(NaiveDateTime.utc_now(), -30 * 24 * 3600, :second)
+
+ def host(url_or_host) when is_binary(url_or_host) do
+ if url_or_host =~ ~r/^http/i do
+ URI.parse(url_or_host).host
+ else
+ url_or_host
+ end
+ end
end