summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-07-10 19:03:37 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-07-10 19:03:37 +0200
commit7847c071f9d588e30b17226dde4e93355c142d08 (patch)
tree16d8e68cb65a476d4e907047157c1c4f60b897da
parent69123dd8d871463de4f90d0e99c3d864d65dae5f (diff)
parent234d7f0e3b3057a4c9783bd2bba283bf988c148f (diff)
Merge branch 'master' of dim13.org:rss
-rw-r--r--rss.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/rss.go b/rss.go
index 1a45fae..ecf6f24 100644
--- a/rss.go
+++ b/rss.go
@@ -3,8 +3,10 @@ package rss
import (
"encoding/xml"
- "io/ioutil"
"net/http"
+
+ "code.google.com/p/go-charset/charset"
+ _ "code.google.com/p/go-charset/data"
)
// RSS container
@@ -39,8 +41,9 @@ func Fetch(url string) (rss RSS, err error) {
return rss, err
}
defer resp.Body.Close()
- body, err := ioutil.ReadAll(resp.Body)
- err = xml.Unmarshal(body, &rss)
+ decoder := xml.NewDecoder(resp.Body)
+ decoder.CharsetReader = charset.NewReader
+ err = decoder.Decode(&rss)
if err != nil {
return rss, err
}