From 244c61ddd1b6805016cf262e36d14a8ae415e51a Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sun, 14 Jun 2026 17:09:16 +0200 Subject: [PATCH] add handling of post (JSON) data, still with demo output --- lib/web/server/endpoint.ex | 5 +++++ lib/web/server/router.ex | 23 ++++++++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/web/server/endpoint.ex b/lib/web/server/endpoint.ex index 137ff1a..669717f 100644 --- a/lib/web/server/endpoint.ex +++ b/lib/web/server/endpoint.ex @@ -10,5 +10,10 @@ defmodule Scopes.Web.Server.Endpoint do plug Plug.RequestId + plug Plug.Parsers, + parsers: [:urlencoded, :multipart, :json], + pass: ["*/*"], + json_decoder: Phoenix.json_library() + plug Scopes.Web.Server.Router end diff --git a/lib/web/server/router.ex b/lib/web/server/router.ex index 3227522..83b6660 100644 --- a/lib/web/server/router.ex +++ b/lib/web/server/router.ex @@ -9,9 +9,8 @@ defmodule Scopes.Web.Server.Router do pipe_through :api #resources "/", Controller, except: [:new, :edit] get "/", Controller, :index - get "/:domain/:action", Controller, :message - get "/:domain/:action/:class", Controller, :message - get "/:domain/:action/:class/:item", Controller, :message + match :*, "/*path", Controller, :message + get "/:domain/:class", Controller, :resource end end @@ -32,16 +31,22 @@ defmodule Scopes.Web.Server.Controller do def message(conn, params) do path_info = conn.path_info Logger.info(Scopes.Util.show [path_info, params]) - render(conn, :index, message: "Hello Message") + {head, params} = Map.pop(params, "path") + message = %{head: head, data: params} + #json(conn, message) + render(conn, :index, message) end end defmodule Scopes.Web.Server.JSON do - require Logger - require Scopes.Util + alias Scopes.Util - def index(%{message: text}) do - Logger.info(Scopes.Util.show [text]) - text + require Logger + require Util + + def index(resp) do + Logger.info(Util.show [resp]) + {_conn, message} = Map.pop(resp, :conn) + message end end