1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-06-27 16:36:00 +00:00

Refactor JSON Feed parser to use an adapter

This commit is contained in:
Frédéric Guillot 2024-03-12 22:10:59 -07:00
parent 6bc4b35e38
commit 8429c6b0ab
4 changed files with 487 additions and 253 deletions

View file

@ -13,10 +13,10 @@ import (
// Parse returns a normalized feed struct from a JSON feed.
func Parse(baseURL string, data io.Reader) (*model.Feed, error) {
feed := new(jsonFeed)
if err := json.NewDecoder(data).Decode(&feed); err != nil {
jsonFeed := new(JSONFeed)
if err := json.NewDecoder(data).Decode(&jsonFeed); err != nil {
return nil, fmt.Errorf("json: unable to parse feed: %w", err)
}
return feed.Transform(baseURL), nil
return NewJSONAdapter(jsonFeed).BuildFeed(baseURL), nil
}