[#2497] Media preview proxy: redirecting to media proxy url in case of preview error or unsupported content type.

This commit is contained in:
Ivan Tashkinov 2020-09-12 10:33:42 +03:00
parent 0bda85857e
commit 32831f371f

View File

@ -91,8 +91,8 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
handle_video_preview(conn, media_proxy_url)
end
defp handle_preview(content_type, conn, _media_proxy_url) do
send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.")
defp handle_preview(_unsupported_content_type, conn, media_proxy_url) do
fallback_on_preview_error(conn, media_proxy_url)
end
defp handle_png_preview(conn, media_proxy_url) do
@ -114,7 +114,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
|> send_resp(200, thumbnail_binary)
else
_ ->
send_resp(conn, :failed_dependency, "Can't handle preview.")
fallback_on_preview_error(conn, media_proxy_url)
end
end
@ -132,7 +132,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
|> send_resp(200, thumbnail_binary)
else
_ ->
send_resp(conn, :failed_dependency, "Can't handle preview.")
fallback_on_preview_error(conn, media_proxy_url)
end
end
@ -144,10 +144,14 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
|> send_resp(200, thumbnail_binary)
else
_ ->
send_resp(conn, :failed_dependency, "Can't handle preview.")
fallback_on_preview_error(conn, media_proxy_url)
end
end
defp fallback_on_preview_error(conn, media_proxy_url) do
redirect(conn, external: media_proxy_url)
end
defp put_preview_response_headers(
conn,
[content_type, filename] = _content_info \\ ["image/jpeg", "preview.jpg"]