Merge remote-tracking branch 'remotes/origin/develop' into authenticated-api-oauth...
[akkoma] / lib / pleroma / plugs / uploaded_media.ex
index 57097baaeaed701fed431f96fc4e1974f8a5395a..94147e0c42250c647984a3955dd98100208bc04f 100644 (file)
@@ -14,11 +14,14 @@ defmodule Pleroma.Plugs.UploadedMedia do
   # no slashes
   @path "media"
 
-  @default_cache_control_header "public max-age=86400 must-revalidate"
+  @default_cache_control_header "public, max-age=1209600"
 
   def init(_opts) do
     static_plug_opts =
-      []
+      [
+        headers: %{"cache-control" => @default_cache_control_header},
+        cache_control_for_etags: @default_cache_control_header
+      ]
       |> Keyword.put(:from, "__unconfigured_media_plug")
       |> Keyword.put(:at, "/__unconfigured_media_plug")
       |> Plug.Static.init()
@@ -38,6 +41,7 @@ defmodule Pleroma.Plugs.UploadedMedia do
         conn ->
           conn
       end
+      |> merge_resp_headers([{"content-security-policy", "sandbox"}])
 
     config = Pleroma.Config.get(Pleroma.Upload)
 
@@ -60,10 +64,6 @@ defmodule Pleroma.Plugs.UploadedMedia do
       Map.get(opts, :static_plug_opts)
       |> Map.put(:at, [@path])
       |> Map.put(:from, directory)
-      |> Map.put(:cache_control_for_etags, @default_cache_control_header)
-      |> Map.put(:headers, %{
-        "cache-control" => @default_cache_control_header
-      })
 
     conn = Plug.Static.call(conn, static_opts)