reuse podcast http client
This commit is contained in:
@@ -30,16 +30,18 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Podcasts struct {
|
type Podcasts struct {
|
||||||
db *db.DB
|
httpClient *http.Client
|
||||||
baseDir string
|
db *db.DB
|
||||||
tagReader tagcommon.Reader
|
baseDir string
|
||||||
|
tagReader tagcommon.Reader
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(db *db.DB, base string, tagReader tagcommon.Reader) *Podcasts {
|
func New(db *db.DB, base string, tagReader tagcommon.Reader) *Podcasts {
|
||||||
return &Podcasts{
|
return &Podcasts{
|
||||||
db: db,
|
db: db,
|
||||||
baseDir: base,
|
baseDir: base,
|
||||||
tagReader: tagReader,
|
tagReader: tagReader,
|
||||||
|
httpClient: &http.Client{},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -324,8 +326,7 @@ func (p *Podcasts) downloadPodcastCover(podcast *db.Podcast) error {
|
|||||||
}
|
}
|
||||||
req.Header.Add("User-Agent", fetchUserAgent)
|
req.Header.Add("User-Agent", fetchUserAgent)
|
||||||
|
|
||||||
client := &http.Client{}
|
resp, err := p.httpClient.Do(req)
|
||||||
resp, err := client.Do(req)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("fetch image url: %w", err)
|
return fmt.Errorf("fetch image url: %w", err)
|
||||||
}
|
}
|
||||||
@@ -461,14 +462,13 @@ func (p *Podcasts) DownloadTick() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *Podcasts) doPodcastDownload(podcast *db.Podcast, podcastEpisode *db.PodcastEpisode) (err error) {
|
func (p *Podcasts) doPodcastDownload(podcast *db.Podcast, podcastEpisode *db.PodcastEpisode) (err error) {
|
||||||
client := &http.Client{}
|
|
||||||
req, err := http.NewRequest(http.MethodGet, podcastEpisode.AudioURL, nil)
|
req, err := http.NewRequest(http.MethodGet, podcastEpisode.AudioURL, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("create http request: %w", err)
|
return fmt.Errorf("create http request: %w", err)
|
||||||
}
|
}
|
||||||
req.Header.Add("User-Agent", fetchUserAgent)
|
req.Header.Add("User-Agent", fetchUserAgent)
|
||||||
|
|
||||||
resp, err := client.Do(req)
|
resp, err := p.httpClient.Do(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("fetch podcast audio: %w", err)
|
return fmt.Errorf("fetch podcast audio: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user