Skip to content

Commit 6da078d

Browse files
lunny6543
andauthored
slight optimization for default avatar (#18187)
* slight optimization * Update comment Co-authored-by: 6543 <[email protected]>
1 parent ec6cc38 commit 6da078d

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

models/avatars/avatar.go

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"path"
1111
"strconv"
1212
"strings"
13+
"sync"
1314

1415
"code.gitea.io/gitea/models/db"
1516
"code.gitea.io/gitea/modules/base"
@@ -31,16 +32,24 @@ func init() {
3132
db.RegisterModel(new(EmailHash))
3233
}
3334

35+
var (
36+
defaultAvatarLink string
37+
once sync.Once
38+
)
39+
3440
// DefaultAvatarLink the default avatar link
3541
func DefaultAvatarLink() string {
36-
u, err := url.Parse(setting.AppSubURL)
37-
if err != nil {
38-
log.Error("GetUserByEmail: %v", err)
39-
return ""
40-
}
42+
once.Do(func() {
43+
u, err := url.Parse(setting.AppSubURL)
44+
if err != nil {
45+
log.Error("Can not parse AppSubURL: %v", err)
46+
return
47+
}
4148

42-
u.Path = path.Join(u.Path, "/assets/img/avatar_default.png")
43-
return u.String()
49+
u.Path = path.Join(u.Path, "/assets/img/avatar_default.png")
50+
defaultAvatarLink = u.String()
51+
})
52+
return defaultAvatarLink
4453
}
4554

4655
// HashEmail hashes email address to MD5 string. https://en.gravatar.com/site/implement/hash/

0 commit comments

Comments
 (0)