aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/ui
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2017-12-01 22:29:18 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2017-12-01 22:29:18 -0800
commitfb2a73c91ef76472d44a36c8214f46dc8fbbf538 (patch)
treed9206419de42b86b6066041d6b7298838d0d9818 /server/ui
parent1a90c059e716a90c9132fd211df9adda038b8950 (diff)
Proxify image enclosures
Diffstat (limited to 'server/ui')
-rw-r--r--server/ui/filter/image_proxy_filter.go10
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)))
+}