aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-08-31 13:08:50 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2020-08-31 13:08:50 +0300
commit0a839d51a7adb034d6514ea647d90546c829813d (patch)
tree023f060f02134d21c72a47ceea9e45be28ff49ea /lib
parent3737f38432609bb971822f1383eedb77343d0615 (diff)
downloadpleroma-0a839d51a7adb034d6514ea647d90546c829813d.tar.gz
[#2497] Added Cache-Control response header for media proxy preview endpoint.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/media_proxy/media_proxy_controller.ex16
1 files 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
index 94fae6cac..2afcd861a 100644
--- 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], [])