summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-07-09 17:14:10 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-07-09 17:14:10 +0200
commit234d7f0e3b3057a4c9783bd2bba283bf988c148f (patch)
tree5d61eeb80b4f9583b68b84c17d21c5221437328d
parent2f628f1139b6f55b4a401a59d5f6b84295af8785 (diff)
Add CharsetReader
-rw-r--r--rss.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/rss.go b/rss.go
index 02388ef..e3d4d17 100644
--- a/rss.go
+++ b/rss.go
@@ -2,8 +2,10 @@ package rss
import (
"encoding/xml"
- "io/ioutil"
"net/http"
+
+ "code.google.com/p/go-charset/charset"
+ _ "code.google.com/p/go-charset/data"
)
type RSS struct {
@@ -34,8 +36,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
}