aboutsummaryrefslogtreecommitdiffstats
path: root/models/avatars/avatar.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/avatars/avatar.go')
-rw-r--r--models/avatars/avatar.go23
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/