Accept HTML entities when parsing XML

Every once in a while, one of my feeds would throw an XML parse error
because it used ` ` or some other HTML entity. I feel Miniflux
should be lenient here, and Go already has a handy hook to make this
work.
This commit is contained in:
Peter De Wachter 2019-03-02 16:38:02 +01:00 committed by Frédéric Guillot
parent 6d39f2a4cb
commit 3a39d110f0
5 changed files with 5 additions and 0 deletions

View file

@ -17,6 +17,7 @@ import (
func Parse(data io.Reader) (*model.Feed, *errors.LocalizedError) {
atomFeed := new(atomFeed)
decoder := xml.NewDecoder(data)
decoder.Entity = xml.HTMLEntity
decoder.CharsetReader = encoding.CharsetReader
err := decoder.Decode(atomFeed)

View file

@ -16,6 +16,7 @@ import (
func Parse(data io.Reader) (SubcriptionList, *errors.LocalizedError) {
feeds := new(opml)
decoder := xml.NewDecoder(data)
decoder.Entity = xml.HTMLEntity
decoder.CharsetReader = encoding.CharsetReader
err := decoder.Decode(feeds)

View file

@ -27,6 +27,7 @@ func DetectFeedFormat(data string) string {
}
decoder := xml.NewDecoder(strings.NewReader(data))
decoder.Entity = xml.HTMLEntity
decoder.CharsetReader = encoding.CharsetReader
for {

View file

@ -17,6 +17,7 @@ import (
func Parse(data io.Reader) (*model.Feed, *errors.LocalizedError) {
feed := new(rdfFeed)
decoder := xml.NewDecoder(data)
decoder.Entity = xml.HTMLEntity
decoder.CharsetReader = encoding.CharsetReader
err := decoder.Decode(feed)

View file

@ -17,6 +17,7 @@ import (
func Parse(data io.Reader) (*model.Feed, *errors.LocalizedError) {
feed := new(rssFeed)
decoder := xml.NewDecoder(data)
decoder.Entity = xml.HTMLEntity
decoder.CharsetReader = encoding.CharsetReader
err := decoder.Decode(feed)