diff options
Diffstat (limited to 'models/avatars/avatar.go')
-rw-r--r-- | models/avatars/avatar.go | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/models/avatars/avatar.go b/models/avatars/avatar.go index 7206a8ae90..6107856ade 100644 --- a/models/avatars/avatar.go +++ b/models/avatars/avatar.go @@ -10,6 +10,7 @@ import ( "path" "strconv" "strings" + "sync" "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/base" @@ -31,16 +32,24 @@ func init() { db.RegisterModel(new(EmailHash)) } +var ( + defaultAvatarLink string + once sync.Once +) + // DefaultAvatarLink the default avatar link func DefaultAvatarLink() string { - u, err := url.Parse(setting.AppSubURL) - if err != nil { - log.Error("GetUserByEmail: %v", err) - return "" - } + once.Do(func() { + u, err := url.Parse(setting.AppSubURL) + if err != nil { + log.Error("Can not parse AppSubURL: %v", err) + return + } - u.Path = path.Join(u.Path, "/assets/img/avatar_default.png") - return u.String() + u.Path = path.Join(u.Path, "/assets/img/avatar_default.png") + defaultAvatarLink = u.String() + }) + return defaultAvatarLink } // HashEmail hashes email address to MD5 string. https://en.gravatar.com/site/implement/hash/ |