diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/http/http.ex | 14 | ||||
| -rw-r--r-- | lib/pleroma/web/media_proxy/controller.ex | 4 | 
2 files changed, 17 insertions, 1 deletions
| diff --git a/lib/pleroma/http/http.ex b/lib/pleroma/http/http.ex new file mode 100644 index 000000000..8b8a82353 --- /dev/null +++ b/lib/pleroma/http/http.ex @@ -0,0 +1,14 @@ + +defmodule Pleroma.HTTP do +  use HTTPoison.Base + +  def process_request_options(options) do +    config = Application.get_env(:pleroma, :http, []) +    proxy = Keyword.get(config, :proxy_url, nil) +    case proxy do +      nil -> options +      _ -> options ++ [proxy: proxy] +    end +  end + +end diff --git a/lib/pleroma/web/media_proxy/controller.ex b/lib/pleroma/web/media_proxy/controller.ex index 560a65353..9327e7253 100644 --- a/lib/pleroma/web/media_proxy/controller.ex +++ b/lib/pleroma/web/media_proxy/controller.ex @@ -2,6 +2,8 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do    use Pleroma.Web, :controller    require Logger +  @httpoison Application.get_env(:pleroma, :httpoison) +      @max_body_length 25 * 1048576    @cache_control %{ @@ -29,7 +31,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do    defp proxy_request(link) do      headers = [{"user-agent", "Pleroma/MediaProxy; #{Pleroma.Web.base_url()} <#{Application.get_env(:pleroma, :instance)[:email]}>"}] -    options = [:insecure, {:follow_redirect, true}] +    options = @httpoison.process_request_options([:insecure, {:follow_redirect, true}])      with \        {:ok, 200, headers, client} <- :hackney.request(:get, link, headers, "", options),        headers = Enum.into(headers, Map.new), | 
