Merge branch 'correct-and-improve-http-options' into 'develop'

Correct and improve http options

See merge request pleroma/pleroma!505
This commit is contained in:
kaniini 2018-12-06 15:57:56 +00:00
commit abead01ab6
8 changed files with 20 additions and 27 deletions

View File

@ -3,7 +3,12 @@ defmodule Pleroma.HTTP.Connection do
Connection for http-requests. Connection for http-requests.
""" """
@hackney_options [pool: :default] @hackney_options [
pool: :default,
timeout: 10000,
recv_timeout: 20000,
follow_redirect: true
]
@adapter Application.get_env(:tesla, :adapter) @adapter Application.get_env(:tesla, :adapter)
@doc """ @doc """

View File

@ -56,7 +56,7 @@ defmodule Pleroma.ReverseProxy do
@hackney Application.get_env(:pleroma, :hackney, :hackney) @hackney Application.get_env(:pleroma, :hackney, :hackney)
@httpoison Application.get_env(:pleroma, :httpoison, HTTPoison) @httpoison Application.get_env(:pleroma, :httpoison, HTTPoison)
@default_hackney_options [{:follow_redirect, true}] @default_hackney_options []
@inline_content_types [ @inline_content_types [
"image/gif", "image/gif",

View File

@ -772,10 +772,7 @@ def fetch_and_contain_remote_object_from_id(id) do
{:ok, %{body: body, status: code}} when code in 200..299 <- {:ok, %{body: body, status: code}} when code in 200..299 <-
@httpoison.get( @httpoison.get(
id, id,
[Accept: "application/activity+json"], [{:Accept, "application/activity+json"}]
follow_redirect: true,
timeout: 10000,
recv_timeout: 20000
), ),
{:ok, data} <- Jason.decode(body), {:ok, data} <- Jason.decode(body),
:ok <- Transmogrifier.contain_origin_from_id(id, data) do :ok <- Transmogrifier.contain_origin_from_id(id, data) do

View File

@ -1216,7 +1216,14 @@ def suggestions(%{assigns: %{user: user}} = conn, _) do
url = String.replace(api, "{{host}}", host) |> String.replace("{{user}}", user) url = String.replace(api, "{{host}}", host) |> String.replace("{{user}}", user)
with {:ok, %{status: 200, body: body}} <- with {:ok, %{status: 200, body: body}} <-
@httpoison.get(url, [], timeout: timeout, recv_timeout: timeout), @httpoison.get(
url,
[],
adapter: [
timeout: timeout,
recv_timeout: timeout
]
),
{:ok, data} <- Jason.decode(body) do {:ok, data} <- Jason.decode(body) do
data2 = data2 =
Enum.slice(data, 0, limit) Enum.slice(data, 0, limit)

View File

@ -349,12 +349,7 @@ def fetch_activity_from_atom_url(url) do
{:ok, %{body: body, status: code}} when code in 200..299 <- {:ok, %{body: body, status: code}} when code in 200..299 <-
@httpoison.get( @httpoison.get(
url, url,
[Accept: "application/atom+xml"], [{:Accept, "application/atom+xml"}]
follow_redirect: true,
adapter: [
timeout: 10000,
recv_timeout: 20000
]
) do ) do
Logger.debug("Got document from #{url}, handling...") Logger.debug("Got document from #{url}, handling...")
handle_incoming(body) handle_incoming(body)
@ -369,8 +364,7 @@ def fetch_activity_from_html_url(url) do
Logger.debug("Trying to fetch #{url}") Logger.debug("Trying to fetch #{url}")
with true <- String.starts_with?(url, "http"), with true <- String.starts_with?(url, "http"),
{:ok, %{body: body}} <- {:ok, %{body: body}} <- @httpoison.get(url, []),
@httpoison.get(url, [], follow_redirect: true, timeout: 10000, recv_timeout: 20000),
{:ok, atom_url} <- get_atom_url(body) do {:ok, atom_url} <- get_atom_url(body) do
fetch_activity_from_atom_url(atom_url) fetch_activity_from_atom_url(atom_url)
else else

View File

@ -162,12 +162,7 @@ defp send_to_user(%{info: %{salmon: salmon}}, feed, poster) do
poster.( poster.(
salmon, salmon,
feed, feed,
[{"Content-Type", "application/magic-envelope+xml"}], [{"Content-Type", "application/magic-envelope+xml"}]
adapter: [
timeout: 10000,
recv_timeout: 20000,
pool: :default
]
) do ) do
Logger.debug(fn -> "Pushed to #{salmon}, code #{code}" end) Logger.debug(fn -> "Pushed to #{salmon}, code #{code}" end)
else else

View File

@ -221,7 +221,7 @@ def get_template_from_xml(body) do
def find_lrdd_template(domain) do def find_lrdd_template(domain) do
with {:ok, %{status: status, body: body}} when status in 200..299 <- with {:ok, %{status: status, body: body}} when status in 200..299 <-
@httpoison.get("http://#{domain}/.well-known/host-meta", [], follow_redirect: true) do @httpoison.get("http://#{domain}/.well-known/host-meta", []) do
get_template_from_xml(body) get_template_from_xml(body)
else else
_ -> _ ->

View File

@ -264,11 +264,6 @@ def publish_one(%{xml: xml, topic: topic, callback: callback, secret: secret}) d
[ [
{"Content-Type", "application/atom+xml"}, {"Content-Type", "application/atom+xml"},
{"X-Hub-Signature", "sha1=#{signature}"} {"X-Hub-Signature", "sha1=#{signature}"}
],
adapter: [
timeout: 10000,
recv_timeout: 20000,
pool: :default
] ]
) do ) do
Logger.info(fn -> "Pushed to #{callback}, code #{code}" end) Logger.info(fn -> "Pushed to #{callback}, code #{code}" end)