mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-05-10 00:20:00 +08:00
chore: not using goproxy by default (#4613)
This commit is contained in:
@@ -1,44 +0,0 @@
|
||||
package migrate
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/stringx"
|
||||
"github.com/zeromicro/go-zero/tools/goctl/rpc/execx"
|
||||
)
|
||||
|
||||
var (
|
||||
defaultProxy = "https://goproxy.cn"
|
||||
defaultProxies = []string{defaultProxy}
|
||||
)
|
||||
|
||||
func goProxy() []string {
|
||||
wd, err := os.Getwd()
|
||||
if err != nil {
|
||||
return defaultProxies
|
||||
}
|
||||
|
||||
proxy, err := execx.Run("go env GOPROXY", wd)
|
||||
if err != nil {
|
||||
return defaultProxies
|
||||
}
|
||||
list := strings.FieldsFunc(proxy, func(r rune) bool {
|
||||
return r == '|' || r == ','
|
||||
})
|
||||
var ret []string
|
||||
for _, item := range list {
|
||||
if len(item) == 0 {
|
||||
continue
|
||||
}
|
||||
_, err = url.Parse(item)
|
||||
if err == nil && !stringx.Contains(ret, item) {
|
||||
ret = append(ret, item)
|
||||
}
|
||||
}
|
||||
if !stringx.Contains(ret, defaultProxy) {
|
||||
ret = append(ret, defaultProxy)
|
||||
}
|
||||
return ret
|
||||
}
|
||||
@@ -15,33 +15,29 @@ var client = http.Client{
|
||||
}
|
||||
|
||||
func getLatest(repo string, verbose bool) ([]string, error) {
|
||||
proxies := goProxy()
|
||||
for _, proxy := range proxies {
|
||||
if verbose {
|
||||
console.Info("use go proxy %q", proxy)
|
||||
}
|
||||
log := func(err error) {
|
||||
console.Warning("get latest versions failed from proxy %q, error: %+v", proxy, err)
|
||||
}
|
||||
resp, err := client.Get(fmt.Sprintf("%s/%s/@v/list", proxy, repo))
|
||||
if err != nil {
|
||||
log(err)
|
||||
continue
|
||||
}
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
log(fmt.Errorf("%s", resp.Status))
|
||||
continue
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
data, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
log(err)
|
||||
continue
|
||||
}
|
||||
versionStr := string(data)
|
||||
versions := strings.Fields(versionStr)
|
||||
return versions, nil
|
||||
log := func(err error) {
|
||||
console.Warning("get latest versions failed, error: %+v", err)
|
||||
}
|
||||
return []string{}, nil
|
||||
resp, err := client.Get(fmt.Sprintf("%s/@v/list", repo))
|
||||
if err != nil {
|
||||
log(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
err = fmt.Errorf("%s", resp.Status)
|
||||
log(err)
|
||||
return nil, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
data, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
log(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
versionStr := string(data)
|
||||
versions := strings.Fields(versionStr)
|
||||
return versions, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user