From a32784fe6d2237d01835db5d70fa27bc52bdbb0e Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Wed, 9 Aug 2017 16:45:05 +0200 Subject: [PATCH] Cowboy and Elixir don't seem to agree on uri encoding... --- lib/pleroma/upload.ex | 4 ++-- test/upload_test.exs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex index 5691c6845..2717377a3 100644 --- a/lib/pleroma/upload.ex +++ b/lib/pleroma/upload.ex @@ -13,7 +13,7 @@ def store(%Plug.Upload{} = file) do "url" => [%{ "type" => "Link", "mediaType" => file.content_type, - "href" => url_for(Path.join(uuid, URI.encode(file.filename))) + "href" => url_for(Path.join(uuid, :cow_uri.urlencode(file.filename))) }], "name" => file.filename, "uuid" => uuid @@ -38,7 +38,7 @@ def store(%{"img" => "data:image/" <> image_data}) do "url" => [%{ "type" => "Link", "mediaType" => content_type, - "href" => url_for(Path.join(uuid, URI.encode(filename))) + "href" => url_for(Path.join(uuid, :cow_uri.urlencode(filename))) }], "name" => filename, "uuid" => uuid diff --git a/test/upload_test.exs b/test/upload_test.exs index d29a1f2ba..71041e83c 100644 --- a/test/upload_test.exs +++ b/test/upload_test.exs @@ -4,10 +4,10 @@ defmodule Pleroma.UploadTest do describe "Storing a file" do test "copies the file to the configured folder" do - file = %Plug.Upload{content_type: "image/jpg", path: Path.absname("test/fixtures/image.jpg"), filename: "an image.jpg"} + file = %Plug.Upload{content_type: "image/jpg", path: Path.absname("test/fixtures/image.jpg"), filename: "an [image.jpg"} data = Upload.store(file) - assert data["name"] == "an image.jpg" - assert List.first(data["url"])["href"] == "http://localhost:4001/media/#{data["uuid"]}/an%20image.jpg" + assert data["name"] == "an [image.jpg" + assert List.first(data["url"])["href"] == "http://localhost:4001/media/#{data["uuid"]}/an%20%5Bimage.jpg" end end end