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

Handle invalid feeds with relative URLs

This commit is contained in:
Frédéric Guillot 2020-12-02 20:47:11 -08:00 committed by fguillot
parent 49feb1958c
commit f722fd1208
18 changed files with 392 additions and 157 deletions

View file

@ -16,16 +16,16 @@ import (
)
// ParseFeed analyzes the input data and returns a normalized feed object.
func ParseFeed(data string) (*model.Feed, *errors.LocalizedError) {
func ParseFeed(baseURL, data string) (*model.Feed, *errors.LocalizedError) {
switch DetectFeedFormat(data) {
case FormatAtom:
return atom.Parse(strings.NewReader(data))
return atom.Parse(baseURL, strings.NewReader(data))
case FormatRSS:
return rss.Parse(strings.NewReader(data))
return rss.Parse(baseURL, strings.NewReader(data))
case FormatJSON:
return json.Parse(strings.NewReader(data))
return json.Parse(baseURL, strings.NewReader(data))
case FormatRDF:
return rdf.Parse(strings.NewReader(data))
return rdf.Parse(baseURL, strings.NewReader(data))
default:
return nil, errors.NewLocalizedError("Unsupported feed format")
}