diff options
author | Pierre de Lacroix <pierre@pdelacroix.com> | 2020-09-18 16:31:24 +0200 |
---|---|---|
committer | Pierre de Lacroix <pierre@pdelacroix.com> | 2020-09-18 16:31:24 +0200 |
commit | 3d8d3f1d387a7081b0f9ed5e1a62b14a28e87981 (patch) | |
tree | 5ae669cc1ec5d1666b047abe4a9ae4805b12afb9 /lib/matrix_app_service_web | |
parent | Merge branch 'test/matrix_app_auth_plug' into 'master' (diff) |
refacto WIP
Diffstat (limited to 'lib/matrix_app_service_web')
-rw-r--r-- | lib/matrix_app_service_web/endpoint.ex | 45 | ||||
-rw-r--r-- | lib/matrix_app_service_web/router.ex | 26 |
2 files changed, 23 insertions, 48 deletions
diff --git a/lib/matrix_app_service_web/endpoint.ex b/lib/matrix_app_service_web/endpoint.ex deleted file mode 100644 index 0ee00fc..0000000 --- a/lib/matrix_app_service_web/endpoint.ex +++ /dev/null @@ -1,45 +0,0 @@ -defmodule MatrixAppServiceWeb.Endpoint do - use Phoenix.Endpoint, otp_app: :matrix_app_service - - # The session will be stored in the cookie and signed, - # this means its contents can be read but not tampered with. - # Set :encryption_salt if you would also like to encrypt it. - @session_options [ - store: :cookie, - key: "_matrix_app_service_key", - signing_salt: "zE7AHynD" - ] - - socket "/socket", MatrixAppServiceWeb.UserSocket, - websocket: true, - longpoll: false - - # Serve at "/" the static files from "priv/static" directory. - # - # You should set gzip to true if you are running phx.digest - # when deploying your static files in production. - plug Plug.Static, - at: "/", - from: :matrix_app_service, - gzip: false, - only: ~w(css fonts images js favicon.ico robots.txt) - - # Code reloading can be explicitly enabled under the - # :code_reloader configuration of your endpoint. - if code_reloading? do - plug Phoenix.CodeReloader - end - - plug Plug.RequestId - plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint] - - plug Plug.Parsers, - parsers: [:urlencoded, :multipart, :json], - pass: ["*/*"], - json_decoder: Phoenix.json_library() - - plug Plug.MethodOverride - plug Plug.Head - plug Plug.Session, @session_options - plug MatrixAppServiceWeb.Router -end diff --git a/lib/matrix_app_service_web/router.ex b/lib/matrix_app_service_web/router.ex index 99f4dfd..21ccc39 100644 --- a/lib/matrix_app_service_web/router.ex +++ b/lib/matrix_app_service_web/router.ex @@ -1,7 +1,27 @@ defmodule MatrixAppServiceWeb.Router do - use MatrixAppServiceWeb, :router + defmacro routes() do + quote do + pipeline :matrix_api do + plug :accepts, ["json"] + plug MatrixAppServiceWeb.AuthPlug + end - require MatrixAppService.Phoenix.Router + path = Application.compile_env(:matrix_app_service, :path, "/") - MatrixAppService.Phoenix.Router.routes() + scope path, MatrixAppServiceWeb.V1 do + pipe_through :matrix_api + + put "/transactions/:txn_id", TransactionController, :create + + get "/users/:user_id", UserController, :show + get "/rooms/:room_alias", RoomController, :show + + get "/thirdparty/protocol/:protocol", ThirdPartyController, :show + get "/thirdparty/user/:protocol", ThirdPartyController, :show + get "/thirdparty/location/:protocol", ThirdPartyController, :show + get "/thirdparty/location", ThirdPartyController, :show + get "/thirdparty/user", ThirdPartyController, :show + end + end + end end |