Longer timeouts for user fetching.

This commit is contained in:
Roger Braun 2017-11-07 09:11:19 +01:00
parent ed1eb5deea
commit 7de3a65214
2 changed files with 7 additions and 3 deletions

View file

@ -86,7 +86,7 @@ def get_template_from_xml(body) do
end end
def find_lrdd_template(domain) do def find_lrdd_template(domain) do
with {:ok, %{status_code: status_code, body: body}} when status_code in 200..299 <- @httpoison.get("http://#{domain}/.well-known/host-meta", [], follow_redirect: true) do with {:ok, %{status_code: status_code, body: body}} when status_code in 200..299 <- @httpoison.get("http://#{domain}/.well-known/host-meta", [], follow_redirect: true, timeout: 10_000, recv_timeout: 20_000) do
get_template_from_xml(body) get_template_from_xml(body)
else else
e -> e ->
@ -107,7 +107,7 @@ def finger(account) do
with {:ok, template} <- find_lrdd_template(domain), with {:ok, template} <- find_lrdd_template(domain),
address <- String.replace(template, "{uri}", URI.encode(account)), address <- String.replace(template, "{uri}", URI.encode(account)),
response <- @httpoison.get(address, ["Accept": "application/xrd+xml"]), response <- @httpoison.get(address, ["Accept": "application/xrd+xml"], timeout: 10_000, recv_timeout: 20_000),
{:ok, %{status_code: status_code, body: body}} when status_code in 200..299 <- response, {:ok, %{status_code: status_code, body: body}} when status_code in 200..299 <- response,
doc when doc != :error<- XML.parse_document(body), doc when doc != :error<- XML.parse_document(body),
{:ok, data} <- webfinger_from_xml(doc) do {:ok, data} <- webfinger_from_xml(doc) do

View file

@ -142,7 +142,11 @@ def subscribe(subscriber, subscribed, requester \\ &request_subscription/1) do
requester.(subscription) requester.(subscription)
end end
def gather_feed_data(topic, getter \\ &@httpoison.get/1) do def long_get(url) do
@httpoison.get(url, [], timeout: 10_000, recv_timeout: 20_000)
end
def gather_feed_data(topic, getter \\ &long_get/1) do
with {:ok, response} <- getter.(topic), with {:ok, response} <- getter.(topic),
status_code when status_code in 200..299 <- response.status_code, status_code when status_code in 200..299 <- response.status_code,
body <- response.body, body <- response.body,