aboutsummaryrefslogtreecommitdiff
path: root/server/ui
diff options
context:
space:
mode:
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 8a775fee..d68def33 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)))
+}