From 27b3bcee8aae7d5f299eaba6507e8c847012d251 Mon Sep 17 00:00:00 2001 From: Marcin Wyszynski Date: Thu, 27 Feb 2014 00:57:03 +0000 Subject: [PATCH] Allow passing an arbitrary http.Client --- rss.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/rss.go b/rss.go index 9274f49..916d335 100644 --- a/rss.go +++ b/rss.go @@ -73,7 +73,11 @@ func (self Date) MustFormat(format string) string { } func Read(url string) (*Channel, error) { - response, err := http.Get(url) + return ReadWithClient(url, http.DefaultClient) +} + +func ReadWithClient(url string, client *http.Client) (*Channel, error) { + response, err := client.Get(url) if err != nil { return nil, err } @@ -84,8 +88,7 @@ func Read(url string) (*Channel, error) { var rss struct { Channel Channel `xml:"channel"` } - err = xmlDecoder.Decode(&rss) - if err != nil { + if err = xmlDecoder.Decode(&rss); err != nil { return nil, err } return &rss.Channel, nil