Compare commits

...

1 commit

Author SHA1 Message Date
Peter Zingg 7c904c451f redirect rss feeds to feed.rss, others to feed.atom 2022-12-18 16:57:12 -08:00

View file

@ -29,20 +29,15 @@ defmodule Pleroma.Web.Feed.UserController do
end
def feed_redirect(conn, %{"nickname" => nickname}) do
format = feed_format(conn)
with {_, %User{} = user} <- {:fetch_user, User.get_cached_by_nickname(nickname)} do
redirect(conn, external: "#{Routes.user_feed_url(conn, :feed, user.nickname)}.atom")
redirect(conn, external: "#{Routes.user_feed_url(conn, :feed, user.nickname)}.#{format}")
end
end
def feed(conn, %{"nickname" => nickname} = params) do
format = get_format(conn)
format =
if format in ["atom", "rss"] do
format
else
"atom"
end
format = feed_format(conn)
with {_, %User{local: true} = user} <- {:fetch_user, User.get_cached_by_nickname(nickname)},
{_, :visible} <- {:visibility, User.visible_for(user, _reading_user = nil)} do
@ -78,4 +73,11 @@ defmodule Pleroma.Web.Feed.UserController do
def errors(conn, _) do
render_error(conn, :internal_server_error, "Something went wrong")
end
defp feed_format(conn) do
case get_format(conn) do
"rss" -> "rss"
_ -> "atom"
end
end
end