Merge branch 'mediaproxy-decode' into 'develop'
authorrinpatch <rin@patch.cx>
Fri, 19 Mar 2021 08:52:12 +0000 (08:52 +0000)
committerrinpatch <rin@patch.cx>
Fri, 19 Mar 2021 08:52:12 +0000 (08:52 +0000)
Simple way to decode mediaproxy URLs

See merge request pleroma/pleroma!3364

lib/pleroma/web/media_proxy.ex
test/pleroma/web/media_proxy_test.exs

index 27f3371389edbb5178e5b6435f746b2d19c65be6..d0d4bb4b3d81a66cbbe02579faa1ba9f10f8fc2c 100644 (file)
@@ -121,6 +121,11 @@ defmodule Pleroma.Web.MediaProxy do
     end
   end
 
+  def decode_url(encoded) do
+    [_, "proxy", sig, base64 | _] = URI.parse(encoded).path |> String.split("/")
+    decode_url(sig, base64)
+  end
+
   defp signed_url(url) do
     :crypto.hmac(:sha, Config.get([Web.Endpoint, :secret_key_base]), url)
   end
index 7411d0a7a6bd0f708b3656f49f8aef065e7c3490..b5ee6328d7aaa25e7fc746ed87d9642f8ae70aff 100644 (file)
@@ -11,8 +11,7 @@ defmodule Pleroma.Web.MediaProxyTest do
   alias Pleroma.Web.MediaProxy
 
   defp decode_result(encoded) do
-    [_, "proxy", sig, base64 | _] = URI.parse(encoded).path |> String.split("/")
-    {:ok, decoded} = MediaProxy.decode_url(sig, base64)
+    {:ok, decoded} = MediaProxy.decode_url(encoded)
     decoded
   end