reuse podcast http client

This commit is contained in:
sentriz
2024-01-17 13:12:10 +00:00
parent 8b4fc04d3e
commit 7f60d984af

View File

@@ -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)
} }