Add OGP parser
[akkoma] / lib / pleroma / web / rich_media / parser.ex
1 defmodule Pleroma.Web.RichMedia.Parser do
2 @parsers [Pleroma.Web.RichMedia.Parsers.OGP]
3
4 def parse(url) do
5 {:ok, %Tesla.Env{body: html}} = Pleroma.HTTP.get(url)
6
7 Enum.reduce_while(@parsers, %Pleroma.Web.RichMedia.Data{}, fn parser, acc ->
8 case parser.parse(html, acc) do
9 {:ok, data} -> {:halt, data}
10 {:error, _msg} -> {:cont, acc}
11 end
12 end)
13 end
14 end