github.com/git-lfs/git-lfs@v2.5.2+incompatible/lfsapi/netrc.go (about)

     1  package lfsapi
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  
     7  	"github.com/git-lfs/git-lfs/config"
     8  	"github.com/git-lfs/go-netrc/netrc"
     9  )
    10  
    11  type NetrcFinder interface {
    12  	FindMachine(string) *netrc.Machine
    13  }
    14  
    15  func ParseNetrc(osEnv config.Environment) (NetrcFinder, string, error) {
    16  	home, _ := osEnv.Get("HOME")
    17  	if len(home) == 0 {
    18  		return &noFinder{}, "", nil
    19  	}
    20  
    21  	nrcfilename := filepath.Join(home, netrcBasename)
    22  	if _, err := os.Stat(nrcfilename); err != nil {
    23  		return &noFinder{}, nrcfilename, nil
    24  	}
    25  
    26  	f, err := netrc.ParseFile(nrcfilename)
    27  	return f, nrcfilename, err
    28  }
    29  
    30  type noFinder struct{}
    31  
    32  func (f *noFinder) FindMachine(host string) *netrc.Machine {
    33  	return nil
    34  }