github.com/jingweno/gh@v2.1.1-0.20221007190738-04a7985fa9a1+incompatible/github/hosts.go (about) 1 package github 2 3 import ( 4 "fmt" 5 "github.com/jingweno/gh/git" 6 "os" 7 "strings" 8 ) 9 10 var ( 11 GitHubHostEnv = os.Getenv("GITHUB_HOST") 12 ) 13 14 type Hosts []string 15 16 func (h Hosts) Include(host string) bool { 17 for _, hh := range h { 18 if hh == host { 19 return true 20 } 21 } 22 23 return false 24 } 25 26 func knownHosts() (hosts Hosts) { 27 ghHosts, _ := git.Config("gh.host") 28 for _, ghHost := range strings.Split(ghHosts, "\n") { 29 hosts = append(hosts, ghHost) 30 } 31 32 defaultHost := DefaultHost() 33 hosts = append(hosts, defaultHost) 34 hosts = append(hosts, fmt.Sprintf("ssh.%s", defaultHost)) 35 36 return 37 } 38 39 func DefaultHost() string { 40 defaultHost := GitHubHostEnv 41 if defaultHost == "" { 42 defaultHost = GitHubHost 43 } 44 45 return defaultHost 46 }