diff options
author | Frédéric Guillot <fred@miniflux.net> | 2020-01-04 15:18:24 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2020-01-04 15:54:16 -0800 |
commit | bf632fad2e19e9ece4db5957f05727f373541917 (patch) | |
tree | 34c8f90d920f55892c10a25bba47f07c580dfe74 /reader/atom/atom_10.go | |
parent | 8cebd985a267f6fbcc363672ca81780dd5407eff (diff) |
Allow only absolute URLs in comments URL
Some feeds are using invalid URLs (random text).
Diffstat (limited to 'reader/atom/atom_10.go')
-rw-r--r-- | reader/atom/atom_10.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/reader/atom/atom_10.go b/reader/atom/atom_10.go index 099cbed..708cc9f 100644 --- a/reader/atom/atom_10.go +++ b/reader/atom/atom_10.go @@ -84,7 +84,7 @@ func (a *atom10Entry) Transform() *model.Entry { entry.Content = a.entryContent() entry.Title = a.entryTitle() entry.Enclosures = a.entryEnclosures() - entry.CommentsURL = a.Links.firstLinkWithRelationAndType("replies", "text/html") + entry.CommentsURL = a.entryCommentsURL() return entry } @@ -194,6 +194,15 @@ func (a *atom10Entry) entryEnclosures() model.EnclosureList { return enclosures } +// See https://tools.ietf.org/html/rfc4685#section-3 +func (a *atom10Entry) entryCommentsURL() string { + commentsURL := a.Links.firstLinkWithRelationAndType("replies", "text/html") + if url.IsAbsoluteURL(commentsURL) { + return commentsURL + } + return "" +} + type atom10Text struct { Type string `xml:"type,attr"` Data string `xml:",chardata"` |