From 7c951fdd4a9dc15313522ac27aacd687687ddafc Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Mon, 25 Oct 2021 13:01:16 +0800 Subject: In many cases user avatar link should be an absolute URL with http host (#17420) --- models/user_avatar.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'models') diff --git a/models/user_avatar.go b/models/user_avatar.go index b8296568c2..f96f66f930 100644 --- a/models/user_avatar.go +++ b/models/user_avatar.go @@ -9,6 +9,7 @@ import ( "fmt" "image/png" "io" + "strings" "code.gitea.io/gitea/models/avatars" "code.gitea.io/gitea/models/db" @@ -91,9 +92,13 @@ func (u *User) AvatarLinkWithSize(size int) string { return avatars.GenerateEmailAvatarFastLink(u.AvatarEmail, size) } -// AvatarLink returns a avatar link with default size +// AvatarLink returns the full avatar link with http host func (u *User) AvatarLink() string { - return u.AvatarLinkWithSize(0) + link := u.AvatarLinkWithSize(0) + if !strings.HasPrefix(link, "//") && !strings.Contains(link, "://") { + return setting.AppURL + strings.TrimPrefix(link, setting.AppSubURL+"/") + } + return link } // UploadAvatar saves custom avatar for user. -- cgit v1.2.3