X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Freverse_proxy.ex;h=4ca84152aa6abd786cb28d13d14a14fec8a15fc1;hb=94ac0075bf4cd968e45f8d848263f9824ce79acc;hp=4f9f0b169de2864bc1ab7e63b979ecb43b34d2df;hpb=97b00d366f5d0bdf80efa2c425ccc8fb16681256;p=akkoma diff --git a/lib/pleroma/reverse_proxy.ex b/lib/pleroma/reverse_proxy.ex index 4f9f0b169..4ca84152a 100644 --- a/lib/pleroma/reverse_proxy.ex +++ b/lib/pleroma/reverse_proxy.ex @@ -5,7 +5,7 @@ defmodule Pleroma.ReverseProxy do ~w(content-type content-disposition content-encoding content-range accept-ranges vary) @default_cache_control_header "public, max-age=1209600" @valid_resp_codes [200, 206, 304] - @max_read_duration :timer.minutes(2) + @max_read_duration :timer.seconds(30) @max_body_length :infinity @methods ~w(GET HEAD) @@ -56,7 +56,7 @@ defmodule Pleroma.ReverseProxy do @hackney Application.get_env(:pleroma, :hackney, :hackney) @httpoison Application.get_env(:pleroma, :httpoison, HTTPoison) - @default_hackney_options [{:follow_redirect, true}] + @default_hackney_options [] @inline_content_types [ "image/gif", @@ -101,7 +101,7 @@ defmodule Pleroma.ReverseProxy do end with {:ok, code, headers, client} <- request(method, url, req_headers, hackney_opts), - :ok <- header_lenght_constraint(headers, Keyword.get(opts, :max_body_length)) do + :ok <- header_length_constraint(headers, Keyword.get(opts, :max_body_length)) do response(conn, client, url, code, headers, opts) else {:ok, code, headers} -> @@ -298,7 +298,7 @@ defmodule Pleroma.ReverseProxy do end end - defp header_lenght_constraint(headers, limit) when is_integer(limit) and limit > 0 do + defp header_length_constraint(headers, limit) when is_integer(limit) and limit > 0 do with {_, size} <- List.keyfind(headers, "content-length", 0), {size, _} <- Integer.parse(size), true <- size <= limit do @@ -312,7 +312,7 @@ defmodule Pleroma.ReverseProxy do end end - defp header_lenght_constraint(_, _), do: :ok + defp header_length_constraint(_, _), do: :ok defp body_size_constraint(size, limit) when is_integer(limit) and limit > 0 and size >= limit do {:error, :body_too_large}