Compare commits
1 commit
develop
...
feed-redir
Author | SHA1 | Date | |
---|---|---|---|
Peter Zingg | 7c904c451f |
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue