Cleanup and DRY the Router
This commit is contained in:
parent
918a8094fc
commit
258d897579
@ -16,79 +16,60 @@ defmodule Pleroma.Web.Router do
|
|||||||
plug(Pleroma.Plugs.UserEnabledPlug)
|
plug(Pleroma.Plugs.UserEnabledPlug)
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline :api do
|
pipeline :authenticate do
|
||||||
plug(:accepts, ["json"])
|
|
||||||
plug(:fetch_session)
|
|
||||||
plug(Pleroma.Plugs.OAuthPlug)
|
plug(Pleroma.Plugs.OAuthPlug)
|
||||||
plug(Pleroma.Plugs.BasicAuthDecoderPlug)
|
plug(Pleroma.Plugs.BasicAuthDecoderPlug)
|
||||||
plug(Pleroma.Plugs.UserFetcherPlug)
|
plug(Pleroma.Plugs.UserFetcherPlug)
|
||||||
plug(Pleroma.Plugs.SessionAuthenticationPlug)
|
plug(Pleroma.Plugs.SessionAuthenticationPlug)
|
||||||
plug(Pleroma.Plugs.LegacyAuthenticationPlug)
|
plug(Pleroma.Plugs.LegacyAuthenticationPlug)
|
||||||
plug(Pleroma.Plugs.AuthenticationPlug)
|
plug(Pleroma.Plugs.AuthenticationPlug)
|
||||||
|
end
|
||||||
|
|
||||||
|
pipeline :after_auth do
|
||||||
plug(Pleroma.Plugs.UserEnabledPlug)
|
plug(Pleroma.Plugs.UserEnabledPlug)
|
||||||
plug(Pleroma.Plugs.SetUserSessionIdPlug)
|
plug(Pleroma.Plugs.SetUserSessionIdPlug)
|
||||||
plug(Pleroma.Plugs.EnsureUserKeyPlug)
|
plug(Pleroma.Plugs.EnsureUserKeyPlug)
|
||||||
plug(Pleroma.Plugs.IdempotencyPlug)
|
end
|
||||||
|
|
||||||
|
pipeline :base_api do
|
||||||
|
plug(:accepts, ["json"])
|
||||||
|
plug(:fetch_session)
|
||||||
|
plug(:authenticate)
|
||||||
plug(OpenApiSpex.Plug.PutApiSpec, module: Pleroma.Web.ApiSpec)
|
plug(OpenApiSpex.Plug.PutApiSpec, module: Pleroma.Web.ApiSpec)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
pipeline :api do
|
||||||
|
plug(:base_api)
|
||||||
|
plug(:after_auth)
|
||||||
|
plug(Pleroma.Plugs.IdempotencyPlug)
|
||||||
|
end
|
||||||
|
|
||||||
pipeline :authenticated_api do
|
pipeline :authenticated_api do
|
||||||
plug(:accepts, ["json"])
|
plug(:base_api)
|
||||||
plug(:fetch_session)
|
|
||||||
plug(Pleroma.Plugs.AuthExpectedPlug)
|
plug(Pleroma.Plugs.AuthExpectedPlug)
|
||||||
plug(Pleroma.Plugs.OAuthPlug)
|
plug(:after_auth)
|
||||||
plug(Pleroma.Plugs.BasicAuthDecoderPlug)
|
|
||||||
plug(Pleroma.Plugs.UserFetcherPlug)
|
|
||||||
plug(Pleroma.Plugs.SessionAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.LegacyAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.AuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.UserEnabledPlug)
|
|
||||||
plug(Pleroma.Plugs.SetUserSessionIdPlug)
|
|
||||||
plug(Pleroma.Plugs.EnsureAuthenticatedPlug)
|
plug(Pleroma.Plugs.EnsureAuthenticatedPlug)
|
||||||
plug(Pleroma.Plugs.IdempotencyPlug)
|
plug(Pleroma.Plugs.IdempotencyPlug)
|
||||||
plug(OpenApiSpex.Plug.PutApiSpec, module: Pleroma.Web.ApiSpec)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline :admin_api do
|
pipeline :admin_api do
|
||||||
plug(:accepts, ["json"])
|
plug(:base_api)
|
||||||
plug(:fetch_session)
|
|
||||||
plug(Pleroma.Plugs.OAuthPlug)
|
|
||||||
plug(Pleroma.Plugs.BasicAuthDecoderPlug)
|
|
||||||
plug(Pleroma.Plugs.UserFetcherPlug)
|
|
||||||
plug(Pleroma.Plugs.SessionAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.LegacyAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.AuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.AdminSecretAuthenticationPlug)
|
plug(Pleroma.Plugs.AdminSecretAuthenticationPlug)
|
||||||
plug(Pleroma.Plugs.UserEnabledPlug)
|
plug(:after_auth)
|
||||||
plug(Pleroma.Plugs.SetUserSessionIdPlug)
|
|
||||||
plug(Pleroma.Plugs.EnsureAuthenticatedPlug)
|
plug(Pleroma.Plugs.EnsureAuthenticatedPlug)
|
||||||
plug(Pleroma.Plugs.UserIsAdminPlug)
|
plug(Pleroma.Plugs.UserIsAdminPlug)
|
||||||
plug(Pleroma.Plugs.IdempotencyPlug)
|
plug(Pleroma.Plugs.IdempotencyPlug)
|
||||||
plug(OpenApiSpex.Plug.PutApiSpec, module: Pleroma.Web.ApiSpec)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline :mastodon_html do
|
pipeline :mastodon_html do
|
||||||
plug(:accepts, ["html"])
|
plug(:browser)
|
||||||
plug(:fetch_session)
|
plug(:authenticate)
|
||||||
plug(Pleroma.Plugs.OAuthPlug)
|
plug(:after_auth)
|
||||||
plug(Pleroma.Plugs.BasicAuthDecoderPlug)
|
|
||||||
plug(Pleroma.Plugs.UserFetcherPlug)
|
|
||||||
plug(Pleroma.Plugs.SessionAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.LegacyAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.AuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.UserEnabledPlug)
|
|
||||||
plug(Pleroma.Plugs.SetUserSessionIdPlug)
|
|
||||||
plug(Pleroma.Plugs.EnsureUserKeyPlug)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline :pleroma_html do
|
pipeline :pleroma_html do
|
||||||
plug(:accepts, ["html"])
|
plug(:browser)
|
||||||
plug(:fetch_session)
|
plug(:authenticate)
|
||||||
plug(Pleroma.Plugs.OAuthPlug)
|
|
||||||
plug(Pleroma.Plugs.BasicAuthDecoderPlug)
|
|
||||||
plug(Pleroma.Plugs.UserFetcherPlug)
|
|
||||||
plug(Pleroma.Plugs.SessionAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.AuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.EnsureUserKeyPlug)
|
plug(Pleroma.Plugs.EnsureUserKeyPlug)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -515,7 +496,7 @@ defmodule Pleroma.Web.Router do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scope "/api" do
|
scope "/api" do
|
||||||
pipe_through(:api)
|
pipe_through(:base_api)
|
||||||
|
|
||||||
get("/openapi", OpenApiSpex.Plug.RenderSpec, [])
|
get("/openapi", OpenApiSpex.Plug.RenderSpec, [])
|
||||||
end
|
end
|
||||||
@ -529,10 +510,6 @@ defmodule Pleroma.Web.Router do
|
|||||||
post("/qvitter/statuses/notifications/read", TwitterAPI.Controller, :notifications_read)
|
post("/qvitter/statuses/notifications/read", TwitterAPI.Controller, :notifications_read)
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline :ap_service_actor do
|
|
||||||
plug(:accepts, ["activity+json", "json"])
|
|
||||||
end
|
|
||||||
|
|
||||||
pipeline :ostatus do
|
pipeline :ostatus do
|
||||||
plug(:accepts, ["html", "xml", "rss", "atom", "activity+json", "json"])
|
plug(:accepts, ["html", "xml", "rss", "atom", "activity+json", "json"])
|
||||||
plug(Pleroma.Plugs.StaticFEPlug)
|
plug(Pleroma.Plugs.StaticFEPlug)
|
||||||
@ -543,8 +520,7 @@ defmodule Pleroma.Web.Router do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scope "/", Pleroma.Web do
|
scope "/", Pleroma.Web do
|
||||||
pipe_through(:ostatus)
|
pipe_through([:ostatus, :http_signature])
|
||||||
pipe_through(:http_signature)
|
|
||||||
|
|
||||||
get("/objects/:uuid", OStatus.OStatusController, :object)
|
get("/objects/:uuid", OStatus.OStatusController, :object)
|
||||||
get("/activities/:uuid", OStatus.OStatusController, :activity)
|
get("/activities/:uuid", OStatus.OStatusController, :activity)
|
||||||
@ -562,13 +538,6 @@ defmodule Pleroma.Web.Router do
|
|||||||
get("/mailer/unsubscribe/:token", Mailer.SubscriptionController, :unsubscribe)
|
get("/mailer/unsubscribe/:token", Mailer.SubscriptionController, :unsubscribe)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Server to Server (S2S) AP interactions
|
|
||||||
pipeline :activitypub do
|
|
||||||
plug(:accepts, ["activity+json", "json"])
|
|
||||||
plug(Pleroma.Web.Plugs.HTTPSignaturePlug)
|
|
||||||
plug(Pleroma.Web.Plugs.MappedSignatureToIdentityPlug)
|
|
||||||
end
|
|
||||||
|
|
||||||
scope "/", Pleroma.Web.ActivityPub do
|
scope "/", Pleroma.Web.ActivityPub do
|
||||||
# XXX: not really ostatus
|
# XXX: not really ostatus
|
||||||
pipe_through(:ostatus)
|
pipe_through(:ostatus)
|
||||||
@ -576,19 +545,22 @@ defmodule Pleroma.Web.Router do
|
|||||||
get("/users/:nickname/outbox", ActivityPubController, :outbox)
|
get("/users/:nickname/outbox", ActivityPubController, :outbox)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
pipeline :ap_service_actor do
|
||||||
|
plug(:accepts, ["activity+json", "json"])
|
||||||
|
end
|
||||||
|
|
||||||
|
# Server to Server (S2S) AP interactions
|
||||||
|
pipeline :activitypub do
|
||||||
|
plug(:ap_service_actor)
|
||||||
|
plug(:http_signature)
|
||||||
|
end
|
||||||
|
|
||||||
# Client to Server (C2S) AP interactions
|
# Client to Server (C2S) AP interactions
|
||||||
pipeline :activitypub_client do
|
pipeline :activitypub_client do
|
||||||
plug(:accepts, ["activity+json", "json"])
|
plug(:ap_service_actor)
|
||||||
plug(:fetch_session)
|
plug(:fetch_session)
|
||||||
plug(Pleroma.Plugs.OAuthPlug)
|
plug(:authenticate)
|
||||||
plug(Pleroma.Plugs.BasicAuthDecoderPlug)
|
plug(:after_auth)
|
||||||
plug(Pleroma.Plugs.UserFetcherPlug)
|
|
||||||
plug(Pleroma.Plugs.SessionAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.LegacyAuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.AuthenticationPlug)
|
|
||||||
plug(Pleroma.Plugs.UserEnabledPlug)
|
|
||||||
plug(Pleroma.Plugs.SetUserSessionIdPlug)
|
|
||||||
plug(Pleroma.Plugs.EnsureUserKeyPlug)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
scope "/", Pleroma.Web.ActivityPub do
|
scope "/", Pleroma.Web.ActivityPub do
|
||||||
@ -660,12 +632,7 @@ defmodule Pleroma.Web.Router do
|
|||||||
get("/web/*path", MastoFEController, :index)
|
get("/web/*path", MastoFEController, :index)
|
||||||
end
|
end
|
||||||
|
|
||||||
pipeline :remote_media do
|
|
||||||
end
|
|
||||||
|
|
||||||
scope "/proxy/", Pleroma.Web.MediaProxy do
|
scope "/proxy/", Pleroma.Web.MediaProxy do
|
||||||
pipe_through(:remote_media)
|
|
||||||
|
|
||||||
get("/:sig/:url", MediaProxyController, :remote)
|
get("/:sig/:url", MediaProxyController, :remote)
|
||||||
get("/:sig/:url/:filename", MediaProxyController, :remote)
|
get("/:sig/:url/:filename", MediaProxyController, :remote)
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user