mirror of
https://github.com/miniflux/v2.git
synced 2025-08-06 17:41:00 +00:00
Refactor RDF parser to use an adapter
Avoid tight coupling between `model.Feed` and the original XML RDF feed.
This commit is contained in:
parent
ee3486af66
commit
6bc4b35e38
5 changed files with 480 additions and 372 deletions
|
@ -13,10 +13,10 @@ import (
|
|||
|
||||
// Parse returns a normalized feed struct from a RDF feed.
|
||||
func Parse(baseURL string, data io.ReadSeeker) (*model.Feed, error) {
|
||||
feed := new(rdfFeed)
|
||||
if err := xml.NewXMLDecoder(data).Decode(feed); err != nil {
|
||||
xmlFeed := new(RDF)
|
||||
if err := xml.NewXMLDecoder(data).Decode(xmlFeed); err != nil {
|
||||
return nil, fmt.Errorf("rdf: unable to parse feed: %w", err)
|
||||
}
|
||||
|
||||
return feed.Transform(baseURL), nil
|
||||
return NewRDFAdapter(xmlFeed).BuildFeed(baseURL), nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue