- // Copyright 2014 The Gogs 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 (
- "os"
- "os/user"
- "runtime"
- "strings"
- )
-
- // CurrentUsername return current login OS user name
- func CurrentUsername() string {
- userinfo, err := user.Current()
- if err != nil {
- return fallbackCurrentUsername()
- }
- username := userinfo.Username
- if runtime.GOOS == "windows" {
- parts := strings.Split(username, "\\")
- username = parts[len(parts)-1]
- }
- return username
- }
-
- // Old method, used if new method doesn't work on your OS for some reason
- func fallbackCurrentUsername() string {
- curUserName := os.Getenv("USER")
- if len(curUserName) > 0 {
- return curUserName
- }
-
- return os.Getenv("USERNAME")
- }
|