diff options
author | Frédéric Guillot <fred@miniflux.net> | 2017-12-01 22:29:18 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2017-12-01 22:29:18 -0800 |
commit | fb2a73c91ef76472d44a36c8214f46dc8fbbf538 (patch) | |
tree | d9206419de42b86b6066041d6b7298838d0d9818 /server/ui | |
parent | 1a90c059e716a90c9132fd211df9adda038b8950 (diff) |
Proxify image enclosures
Diffstat (limited to 'server/ui')
-rw-r--r-- | server/ui/filter/image_proxy_filter.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/server/ui/filter/image_proxy_filter.go b/server/ui/filter/image_proxy_filter.go index 8a775fe..d68def3 100644 --- a/server/ui/filter/image_proxy_filter.go +++ b/server/ui/filter/image_proxy_filter.go @@ -16,7 +16,7 @@ import ( ) // ImageProxyFilter rewrites image tag URLs without HTTPS to local proxy URL -func ImageProxyFilter(r *mux.Router, data string) string { +func ImageProxyFilter(router *mux.Router, data string) string { doc, err := goquery.NewDocumentFromReader(strings.NewReader(data)) if err != nil { return data @@ -25,8 +25,7 @@ func ImageProxyFilter(r *mux.Router, data string) string { doc.Find("img").Each(func(i int, img *goquery.Selection) { if srcAttr, ok := img.Attr("src"); ok { if !url.IsHTTPS(srcAttr) { - path := route.Path(r, "proxy", "encodedURL", base64.StdEncoding.EncodeToString([]byte(srcAttr))) - img.SetAttr("src", path) + img.SetAttr("src", Proxify(router, srcAttr)) } } }) @@ -34,3 +33,8 @@ func ImageProxyFilter(r *mux.Router, data string) string { output, _ := doc.Find("body").First().Html() return output } + +// Proxify returns a proxified link. +func Proxify(router *mux.Router, link string) string { + return route.Path(router, "proxy", "encodedURL", base64.StdEncoding.EncodeToString([]byte(link))) +} |