Use uppercase HTTP HEAD method for media preview proxy request (#128)
authorYukkuri <iamtakingiteasy@eientei.org>
Sat, 30 Jul 2022 21:58:14 +0000 (21:58 +0000)
committerfloatingghost <hannah@coffee-and-dreams.uk>
Sat, 30 Jul 2022 21:58:14 +0000 (21:58 +0000)
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/128
Co-authored-by: Yukkuri <iamtakingiteasy@eientei.org>
Co-committed-by: Yukkuri <iamtakingiteasy@eientei.org>
lib/pleroma/web/media_proxy/media_proxy_controller.ex
test/pleroma/web/media_proxy/media_proxy_controller_test.exs

index b3a92d75a9b157b0f33f11ad27ae90f6400fdbc8..84e07132a6d115f8b6c796a2f827f1883c3b8951 100644 (file)
@@ -54,7 +54,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
     media_proxy_url = MediaProxy.url(url)
 
     with {:ok, %{status: status} = head_response} when status in 200..299 <-
-           Pleroma.HTTP.request("head", media_proxy_url, [], [], name: MyFinch) do
+           Pleroma.HTTP.request("HEAD", media_proxy_url, [], [], name: MyFinch) do
       content_type = Tesla.get_header(head_response, "content-type")
       content_length = Tesla.get_header(head_response, "content-length")
       content_length = content_length && String.to_integer(content_length)
index 1f2e5419446fba81c870b5e9af7b8f9fd4aaeca7..e4b66c109637167ebfa46cf7332b4c4eef37f9e3 100644 (file)
@@ -158,7 +158,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
       media_proxy_url: media_proxy_url
     } do
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{status: 500, body: ""}
       end)
 
@@ -173,7 +173,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
       media_proxy_url: media_proxy_url
     } do
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{status: 200, body: "", headers: [{"content-type", "application/pdf"}]}
       end)
 
@@ -193,7 +193,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
       clear_config([:media_preview_proxy, :min_content_length], 1_000_000_000)
 
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{
             status: 200,
             body: "",
@@ -218,7 +218,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
            media_proxy_url: media_proxy_url
          } do
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/gif"}]}
       end)
 
@@ -236,7 +236,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
            media_proxy_url: media_proxy_url
          } do
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/jpeg"}]}
       end)
 
@@ -256,7 +256,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
       clear_config([:media_preview_proxy, :min_content_length], 100_000)
 
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{
             status: 200,
             body: "",
@@ -278,7 +278,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
       assert_dependencies_installed()
 
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/png"}]}
 
         %{method: :get, url: ^media_proxy_url} ->
@@ -300,7 +300,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
       assert_dependencies_installed()
 
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/jpeg"}]}
 
         %{method: :get, url: ^media_proxy_url} ->
@@ -320,7 +320,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do
       media_proxy_url: media_proxy_url
     } do
       Tesla.Mock.mock(fn
-        %{method: "head", url: ^media_proxy_url} ->
+        %{method: "HEAD", url: ^media_proxy_url} ->
           %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/jpeg"}]}
 
         %{method: :get, url: ^media_proxy_url} ->