Uploader callback controller
This commit is contained in:
parent
afb8d9ec13
commit
f9a3269099
3 changed files with 63 additions and 4 deletions
25
lib/pleroma/web/uploader_controller.ex
Normal file
25
lib/pleroma/web/uploader_controller.ex
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
defmodule Pleroma.Web.UploaderController do
|
||||
use Pleroma.Web, :controller
|
||||
|
||||
alias Pleroma.Uploaders.Uploader
|
||||
|
||||
def callback(conn, params = %{"upload_path" => upload_path}) do
|
||||
process_callback(conn, :global.whereis_name({Uploader, upload_path}), params)
|
||||
end
|
||||
|
||||
def callbacks(conn, _) do
|
||||
send_resp(conn, 400, "bad request")
|
||||
end
|
||||
|
||||
defp process_callback(conn, pid, params) when is_pid(pid) do
|
||||
send(pid, {Uploader, self(), conn, params})
|
||||
|
||||
receive do
|
||||
{Uploader, conn} -> conn
|
||||
end
|
||||
end
|
||||
|
||||
defp process_callback(conn, _, _) do
|
||||
send_resp(conn, 400, "bad request")
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue