52 lines
1.1 KiB
Elixir
52 lines
1.1 KiB
Elixir
defmodule Scopes.Web.Server.Router do
|
|
use Scopes.Web.Server, :router
|
|
|
|
pipeline :api do
|
|
plug :accepts, ["json"]
|
|
end
|
|
|
|
scope "/api", Scopes.Web.Server do
|
|
pipe_through :api
|
|
#resources "/", Controller, except: [:new, :edit]
|
|
get "/", Controller, :index
|
|
match :*, "/*path", Controller, :message
|
|
get "/:domain/:class", Controller, :resource
|
|
end
|
|
end
|
|
|
|
defmodule Scopes.Web.Server.Controller do
|
|
use Scopes.Web.Server, :controller
|
|
|
|
alias Scopes.Util
|
|
|
|
require Logger
|
|
require Util
|
|
|
|
def index(conn, _params) do
|
|
render(conn, :index, message: "Hello Scopes!")
|
|
#concepts = Storage.list_concepts()
|
|
#render(conn, :index, concepts: concepts)
|
|
end
|
|
|
|
def message(conn, params) do
|
|
path_info = conn.path_info
|
|
Logger.info(Scopes.Util.show [path_info, params])
|
|
{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
|
|
alias Scopes.Util
|
|
|
|
require Logger
|
|
require Util
|
|
|
|
def index(resp) do
|
|
Logger.info(Util.show [resp])
|
|
{_conn, message} = Map.pop(resp, :conn)
|
|
message
|
|
end
|
|
end
|