本文整理匯總了Golang中github.com/juju/utils/proxy.Settings.Http方法的典型用法代碼示例。如果您正苦於以下問題:Golang Settings.Http方法的具體用法?Golang Settings.Http怎麽用?Golang Settings.Http使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/juju/utils/proxy.Settings
的用法示例。
在下文中一共展示了Settings.Http方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: GetProxySettings
// GetProxySettings is defined on the PackageManager interface.
func (apt *apt) GetProxySettings() (proxy.Settings, error) {
var res proxy.Settings
args := strings.Fields(apt.cmder.GetProxyCmd())
if len(args) <= 1 {
return proxy.Settings{}, fmt.Errorf("expected at least 2 arguments, got %d %v", len(args), args)
}
cmd := exec.Command(args[0], args[1:]...)
out, err := CommandOutput(cmd)
if err != nil {
logger.Errorf("command failed: %v\nargs: %#v\n%s",
err, args, string(out))
return res, fmt.Errorf("command failed: %v", err)
}
output := string(bytes.Join(proxyRE.FindAll(out, -1), []byte("\n")))
for _, match := range proxyRE.FindAllStringSubmatch(output, -1) {
switch match[1] {
case "http":
res.Http = match[2]
case "https":
res.Https = match[2]
case "ftp":
res.Ftp = match[2]
}
}
return res, nil
}
示例2: GetProxySettings
// GetProxySettings is defined on the PackageManager interface.
func (yum *yum) GetProxySettings() (proxy.Settings, error) {
var res proxy.Settings
args := strings.Fields(yum.cmder.GetProxyCmd())
if len(args) <= 1 {
return proxy.Settings{}, fmt.Errorf("expected at least 2 arguments, got %d %v", len(args), args)
}
cmd := exec.Command(args[0], args[1:]...)
out, err := CommandOutput(cmd)
if err != nil {
logger.Errorf("command failed: %v\nargs: %#v\n%s",
err, args, string(out))
return res, fmt.Errorf("command failed: %v", err)
}
for _, match := range strings.Split(string(out), "\n") {
fields := strings.Split(match, "=")
if len(fields) != 2 {
continue
}
if strings.HasPrefix(fields[0], "https") {
res.Https = strings.TrimSpace(fields[1])
} else if strings.HasPrefix(fields[0], "http") {
res.Http = strings.TrimSpace(fields[1])
} else if strings.HasPrefix(fields[0], "ftp") {
res.Ftp = strings.TrimSpace(fields[1])
}
}
return res, nil
}