commit: 0a839d51a7adb034d6514ea647d90546c829813d
parent 3737f38432609bb971822f1383eedb77343d0615
Author: Ivan Tashkinov <ivantashkinov@gmail.com>
Date: Mon, 31 Aug 2020 13:08:50 +0300
[#2497] Added Cache-Control response header for media proxy preview endpoint.
Diffstat:
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex
@@ -107,8 +107,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
}
) do
conn
- |> put_resp_header("content-type", "image/png")
- |> put_resp_header("content-disposition", "inline; filename=\"preview.png\"")
+ |> put_preview_response_headers()
|> send_resp(200, thumbnail_binary)
else
_ ->
@@ -126,8 +125,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
%{max_width: thumbnail_max_width, max_height: thumbnail_max_height, quality: quality}
) do
conn
- |> put_resp_header("content-type", "image/jpeg")
- |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"")
+ |> put_preview_response_headers()
|> send_resp(200, thumbnail_binary)
else
_ ->
@@ -139,8 +137,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
with {:ok, thumbnail_binary} <-
MediaHelper.video_framegrab(url) do
conn
- |> put_resp_header("content-type", "image/jpeg")
- |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"")
+ |> put_preview_response_headers()
|> send_resp(200, thumbnail_binary)
else
_ ->
@@ -148,6 +145,13 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
end
end
+ defp put_preview_response_headers(conn) do
+ conn
+ |> put_resp_header("content-type", "image/jpeg")
+ |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"")
+ |> put_resp_header("cache-control", "max-age=0, private, must-revalidate")
+ end
+
defp thumbnail_max_dimensions(params) do
config = Config.get([:media_preview_proxy], [])