X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Frouter.ex;h=ac9d97e0f558c9ed1a12c4d3e41119c85bc8e666;hb=138641589dffc6ba69710ec15c690b50769f07b4;hp=6a2b37aecd6c104f662099f3cb51ec6acf004dca;hpb=e987be2de79c8eaf28ef773e12202a1eb92bf628;p=akkoma diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 6a2b37aec..ac9d97e0f 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -19,6 +19,10 @@ defmodule Pleroma.Web.Router do plug Pleroma.Plugs.AuthenticationPlug, %{fetcher: &Pleroma.Web.Router.user_fetcher/1} end + pipeline :well_known do + plug :accepts, ["xml", "xrd+xml"] + end + scope "/api", Pleroma.Web do pipe_through :api @@ -26,7 +30,7 @@ defmodule Pleroma.Web.Router do get "/statusnet/config", TwitterAPI.Controller, :config get "/statuses/public_timeline", TwitterAPI.Controller, :public_timeline - get "/statuses/public_and_external_timeline", TwitterAPI.Controller, :public_timeline + get "/statuses/public_and_external_timeline", TwitterAPI.Controller, :public_and_external_timeline get "/statuses/user_timeline", TwitterAPI.Controller, :user_timeline get "/statuses/show/:id", TwitterAPI.Controller, :fetch_status @@ -61,4 +65,38 @@ defmodule Pleroma.Web.Router do post "/qvitter/update_avatar", TwitterAPI.Controller, :update_avatar end + + pipeline :ostatus do + plug :accepts, ["xml", "atom"] + end + + scope "/", Pleroma.Web do + pipe_through :ostatus + + get "/objects/:uuid", OStatus.OStatusController, :object + + get "/users/:nickname/feed", OStatus.OStatusController, :feed + get "/users/:nickname", OStatus.OStatusController, :feed_redirect + post "/users/:nickname/salmon", OStatus.OStatusController, :salmon_incoming + post "/push/hub/:nickname", Websub.WebsubController, :websub_subscription_request + get "/push/subscriptions/:id", Websub.WebsubController, :websub_subscription_confirmation + post "/push/subscriptions/:id", Websub.WebsubController, :websub_incoming + end + + scope "/.well-known", Pleroma.Web do + pipe_through :well_known + + get "/host-meta", WebFinger.WebFingerController, :host_meta + get "/webfinger", WebFinger.WebFingerController, :webfinger + end + + scope "/", Fallback do + get "/*path", RedirectController, :redirector + end + +end + +defmodule Fallback.RedirectController do + use Pleroma.Web, :controller + def redirector(conn, _params), do: (if Mix.env != :test, do: send_file(conn, 200, "priv/static/index.html")) end