projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'mutes-blocks-pagination' into 'develop'
[akkoma]
/
lib
/
pleroma
/
web
/
rel_me.ex
diff --git
a/lib/pleroma/web/rel_me.ex
b/lib/pleroma/web/rel_me.ex
index 0ae92637518d7303a62d7da2ae3a0a4292ff4761..28f75b18d624d297559f68e88c24b1fceea57d35 100644
(file)
--- a/
lib/pleroma/web/rel_me.ex
+++ b/
lib/pleroma/web/rel_me.ex
@@
-1,11
+1,12
@@
# Pleroma: A lightweight social networking server
# Pleroma: A lightweight social networking server
-# Copyright © 2017-20
19
Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-20
20
Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.RelMe do
@options [
pool: :media,
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.RelMe do
@options [
pool: :media,
- max_body: 2_000_000
+ max_body: 2_000_000,
+ recv_timeout: 2_000
]
if Pleroma.Config.get(:env) == :test do
]
if Pleroma.Config.get(:env) == :test do
@@
-23,21
+24,12
@@
defmodule Pleroma.Web.RelMe do
def parse(_), do: {:error, "No URL provided"}
defp parse_url(url) do
def parse(_), do: {:error, "No URL provided"}
defp parse_url(url) do
- opts =
- if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Hackney do
- Keyword.merge(@options,
- recv_timeout: 2_000,
- with_body: true
- )
- else
- @options
- end
-
with {:ok, %Tesla.Env{body: html, status: status}} when status in 200..299 <-
with {:ok, %Tesla.Env{body: html, status: status}} when status in 200..299 <-
- Pleroma.HTTP.get(url, [], adapter: opts),
+ 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