diff options
Diffstat (limited to '')
-rw-r--r-- | api/entry.go | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/api/entry.go b/api/entry.go index e8d6c908..e64e867f 100644 --- a/api/entry.go +++ b/api/entry.go @@ -35,12 +35,17 @@ func (h *handler) getEntryFromBuilder(w http.ResponseWriter, r *http.Request, b return } - entry.Content = proxy.AbsoluteImageProxyRewriter(h.router, r.Host, entry.Content) - proxyImage := config.Opts.ProxyImages() + entry.Content = proxy.AbsoluteProxyRewriter(h.router, r.Host, entry.Content) + proxyOption := config.Opts.ProxyOption() for i := range entry.Enclosures { - if strings.HasPrefix(entry.Enclosures[i].MimeType, "image/") && (proxyImage == "all" || proxyImage != "none" && !url.IsHTTPS(entry.Enclosures[i].URL)) { - entry.Enclosures[i].URL = proxy.AbsoluteProxifyURL(h.router, r.Host, entry.Enclosures[i].URL) + if proxyOption == "all" || proxyOption != "none" && !url.IsHTTPS(entry.Enclosures[i].URL) { + for _, mediaType := range config.Opts.ProxyMediaTypes() { + if strings.HasPrefix(entry.Enclosures[i].MimeType, mediaType+"/") { + entry.Enclosures[i].URL = proxy.AbsoluteProxifyURL(h.router, r.Host, entry.Enclosures[i].URL) + break + } + } } } @@ -158,7 +163,7 @@ func (h *handler) findEntries(w http.ResponseWriter, r *http.Request, feedID int } for i := range entries { - entries[i].Content = proxy.AbsoluteImageProxyRewriter(h.router, r.Host, entries[i].Content) + entries[i].Content = proxy.AbsoluteProxyRewriter(h.router, r.Host, entries[i].Content) } json.OK(w, r, &entriesResponse{Total: count, Entries: entries}) |