projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request 'Correct og:description tag in static-fe' (#373) from sfr/akkoma...
[akkoma]
/
lib
/
pleroma
/
web
/
rel_me.ex
diff --git
a/lib/pleroma/web/rel_me.ex
b/lib/pleroma/web/rel_me.ex
index 16b1a53d2886df63a1fa3ce2354b85b53156aa6b..98a3ae8ee5858cc12c43001766e4ab266b8f720a 100644
(file)
--- a/
lib/pleroma/web/rel_me.ex
+++ b/
lib/pleroma/web/rel_me.ex
@@
-1,20
+1,19
@@
# Pleroma: A lightweight social networking server
# Pleroma: A lightweight social networking server
-# Copyright © 2017-20
19
Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-20
21
Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.RelMe do
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.RelMe do
- @hackney_options [
- pool: :media,
- recv_timeout: 2_000,
+ @options [
max_body: 2_000_000,
max_body: 2_000_000,
- with_body: true
+ receive_timeout: 2_000
]
if Pleroma.Config.get(:env) == :test do
def parse(url) when is_binary(url), do: parse_url(url)
else
]
if Pleroma.Config.get(:env) == :test do
def parse(url) when is_binary(url), do: parse_url(url)
else
+ @cachex Pleroma.Config.get([:cachex, :provider], Cachex)
def parse(url) when is_binary(url) do
def parse(url) when is_binary(url) do
-
C
achex.fetch!(:rel_me_cache, url, fn _ ->
+
@c
achex.fetch!(:rel_me_cache, url, fn _ ->
{:commit, parse_url(url)}
end)
rescue
{:commit, parse_url(url)}
end)
rescue
@@
-26,10
+25,11
@@
defmodule Pleroma.Web.RelMe do
defp parse_url(url) do
with {:ok, %Tesla.Env{body: html, status: status}} when status in 200..299 <-
defp parse_url(url) do
with {:ok, %Tesla.Env{body: html, status: status}} when status in 200..299 <-
- Pleroma.HTTP.get(url, [], adapter: @hackney_options),
+ Pleroma.HTTP.get(url, [], @options),
+ {:ok, html_tree} <- Floki.parse_document(html),
data <-
data <-
- Floki.attribute(html, "link[rel~=me]", "href") ++
- Floki.attribute(html, "a[rel~=me]", "href") do
+ Floki.attribute(html
_tree
, "link[rel~=me]", "href") ++
+ Floki.attribute(html
_tree
, "a[rel~=me]", "href") do
{:ok, data}
end
rescue
{:ok, data}
end
rescue
@@
-38,7
+38,6
@@
defmodule Pleroma.Web.RelMe do
def maybe_put_rel_me("http" <> _ = target_page, profile_urls) when is_list(profile_urls) do
{:ok, rel_me_hrefs} = parse(target_page)
def maybe_put_rel_me("http" <> _ = target_page, profile_urls) when is_list(profile_urls) do
{:ok, rel_me_hrefs} = parse(target_page)
-
true = Enum.any?(rel_me_hrefs, fn x -> x in profile_urls end)
"me"
true = Enum.any?(rel_me_hrefs, fn x -> x in profile_urls end)
"me"