12345678910111213141516171819 |
- defmodule OpenpodWeb.FeedController do
- use OpenpodWeb, :controller
- alias Openpod.Boundary.ArchiveServer
- def by_identifier(conn, %{"identifier" => identifier, "reload" => _}) do
- do_by_identifier(conn, identifier, fn -> ArchiveServer.reload(identifier) end)
- end
- def by_identifier(conn, %{"identifier" => identifier}) do
- do_by_identifier(conn, identifier, fn -> ArchiveServer.get_feed(identifier) end)
- end
- defp do_by_identifier(conn, identifier, fetcher) do
- %{podcast: podcast, items: items} = fetcher.()
- conn
- |> put_resp_content_type("text/xml")
- |> render("feed.xml", identifier: identifier, podcast: podcast, items: items)
- end
- end
|