diff options
author | Ivan Tashkinov <ivantashkinov@gmail.com> | 2019-01-24 19:15:23 +0300 |
---|---|---|
committer | Ivan Tashkinov <ivantashkinov@gmail.com> | 2019-01-24 19:15:23 +0300 |
commit | 3e9399ec0b498c0c9783ccb0fea9f682c8b9d0ca (patch) | |
tree | 9fe891c45283c89fe11e4a53d49a4c91c8fdf52c /lib/pleroma/instances.ex | |
parent | 8654a591f08c7d8d5d61f075906f0c6907e877bb (diff) | |
download | pleroma-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.ex | 9 |
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 |