diff options
Diffstat (limited to 'client/client.go')
-rw-r--r-- | client/client.go | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/client/client.go b/client/client.go index d9d7fa8c..496eb50f 100644 --- a/client/client.go +++ b/client/client.go @@ -496,7 +496,7 @@ func (c *Client) SaveEntry(entryID int64) error { return err } -// FetchCounters +// FetchCounters fetches feed counters. func (c *Client) FetchCounters() (*FeedCounters, error) { body, err := c.request.Get("/v1/feeds/counters") if err != nil { @@ -518,6 +518,22 @@ func (c *Client) FlushHistory() error { return err } +// Icon fetches a feed icon. +func (c *Client) Icon(iconID int64) (*FeedIcon, error) { + body, err := c.request.Get(fmt.Sprintf("/v1/icons/%d", iconID)) + if err != nil { + return nil, err + } + defer body.Close() + + var feedIcon *FeedIcon + if err := json.NewDecoder(body).Decode(&feedIcon); err != nil { + return nil, fmt.Errorf("miniflux: response error (%v)", err) + } + + return feedIcon, nil +} + func buildFilterQueryString(path string, filter *Filter) string { if filter != nil { values := url.Values{} |