- // Copyright 2019 The Gitea Authors. All rights reserved.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
-
- package user
-
- import (
- "strconv"
- "strings"
-
- "code.gitea.io/gitea/models"
- "code.gitea.io/gitea/modules/context"
- "code.gitea.io/gitea/modules/log"
- )
-
- // Avatar redirect browser to user avatar of requested size
- func Avatar(ctx *context.Context) {
- userName := ctx.Params(":username")
- size, err := strconv.Atoi(ctx.Params(":size"))
- if err != nil {
- ctx.ServerError("Invalid avatar size", err)
- return
- }
-
- log.Debug("Asked avatar for user %v and size %v", userName, size)
-
- var user *models.User
- if strings.ToLower(userName) != "ghost" {
- user, err = models.GetUserByName(userName)
- if err != nil {
- if models.IsErrUserNotExist(err) {
- ctx.ServerError("Requested avatar for invalid user", err)
- } else {
- ctx.ServerError("Retrieving user by name", err)
- }
- return
- }
- } else {
- user = models.NewGhostUser()
- }
-
- ctx.Redirect(user.RealSizedAvatarLink(size))
- }
|