in pkg/netrc/netrc.go [56:87]
func Load() (string, string, error) {
netrcPath := os.Getenv("NETRC")
if netrcPath == "" {
h, err := os.UserHomeDir()
if err != nil {
return "", "", fmt.Errorf("cannot load .netrc file: %v", err)
}
netrcPath = h
}
netrcFileName := getNetrcFileName()
if !strings.HasSuffix(netrcPath, netrcFileName) {
netrcPath = filepath.Join(netrcPath, netrcFileName)
}
if _, err := os.Stat(filepath.Dir(netrcPath)); err != nil {
if os.IsNotExist(err) {
return "", "", fmt.Errorf("%s directory does not exist: %w", netrcFileName, err)
}
return "", "", fmt.Errorf("failed to load %s directory: %w", netrcFileName, err)
}
data, err := ioutil.ReadFile(netrcPath)
if os.IsNotExist(err) {
// The .netrc file does not exist; create a new one
return netrcPath, "", nil
}
if err != nil {
return "", "", fmt.Errorf("cannot load %s file: %v", netrcFileName, err)
}
return netrcPath, string(data), nil
}