From 7de3a652147d9b7da9cf3fd82d8a8438df93bae8 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Tue, 7 Nov 2017 09:11:19 +0100 Subject: [PATCH] Longer timeouts for user fetching. --- lib/pleroma/web/web_finger/web_finger.ex | 4 ++-- lib/pleroma/web/websub/websub.ex | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/web_finger/web_finger.ex b/lib/pleroma/web/web_finger/web_finger.ex index 7cbafe11f..a54f3c54d 100644 --- a/lib/pleroma/web/web_finger/web_finger.ex +++ b/lib/pleroma/web/web_finger/web_finger.ex @@ -86,7 +86,7 @@ defmodule Pleroma.Web.WebFinger do end 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) else e -> @@ -107,7 +107,7 @@ defmodule Pleroma.Web.WebFinger do with {:ok, template} <- find_lrdd_template(domain), 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, doc when doc != :error<- XML.parse_document(body), {:ok, data} <- webfinger_from_xml(doc) do diff --git a/lib/pleroma/web/websub/websub.ex b/lib/pleroma/web/websub/websub.ex index db1577a93..41bdffb5b 100644 --- a/lib/pleroma/web/websub/websub.ex +++ b/lib/pleroma/web/websub/websub.ex @@ -142,7 +142,11 @@ defmodule Pleroma.Web.Websub do requester.(subscription) 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), status_code when status_code in 200..299 <- response.status_code, body <- response.body, -- 2.45.2