diff options
author | 2023-02-25 09:36:19 +0100 | |
---|---|---|
committer | 2023-02-25 15:57:59 -0800 | |
commit | 2c2700a31d7349f67016a3786125597f9ee38c56 (patch) | |
tree | 9a9cef0c5d6a17946be70e709cf1d0349d05bc77 /googlereader/handler.go | |
parent | 8f9ccc6540be9d637b812985936f064bada8fcf3 (diff) | |
download | v2-2c2700a31d7349f67016a3786125597f9ee38c56.tar.gz v2-2c2700a31d7349f67016a3786125597f9ee38c56.tar.zst v2-2c2700a31d7349f67016a3786125597f9ee38c56.zip |
Proxy support for several media types
closes #615
closes #635
Diffstat (limited to '')
-rw-r--r-- | googlereader/handler.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/googlereader/handler.go b/googlereader/handler.go index 7bc3f054..4e5272ac 100644 --- a/googlereader/handler.go +++ b/googlereader/handler.go @@ -841,12 +841,17 @@ func (h *handler) streamItemContents(w http.ResponseWriter, r *http.Request) { categories = append(categories, userStarred) } - 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 + } + } } } |