X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=gocheese.go;h=c2a4d0b8028bd99367d8153a4a3f47d716c0a2ee;hb=14a6f9c7e18e3698ecf7e0c8b28680d6615db3bd;hp=655908d47f789735bc84033a9ef6b006991d0185;hpb=b2c61aa43c08395b0d38fd6def46f369e0366e9b;p=gocheese.git diff --git a/gocheese.go b/gocheese.go index 655908d..c2a4d0b 100644 --- a/gocheese.go +++ b/gocheese.go @@ -162,6 +162,10 @@ func refreshDir( return false } pkgURL.Fragment = "" + uri = pkgURL.String() + if pkgURL.Host == "" { + uri = *pypiURL + strings.TrimPrefix(uri, "/") + } path = filepath.Join(dirPath, filename) if filename == filenameGet { if killed { @@ -170,8 +174,9 @@ func refreshDir( return false } log.Println(r.RemoteAddr, "pypi download", filename) - resp, err = http.Get(pkgURL.String()) + resp, err = http.Get(uri) if err != nil { + log.Println(r.RemoteAddr, "pypi download error:", err.Error()) http.Error(w, err.Error(), http.StatusBadGateway) return false } @@ -193,7 +198,7 @@ func refreshDir( log.Println(r.RemoteAddr, "pypi", filename, "digest mismatch") os.Remove(dst.Name()) dst.Close() - http.Error(w, err.Error(), http.StatusBadGateway) + http.Error(w, "digest mismatch", http.StatusBadGateway) return false } if err = dst.Sync(); err != nil { @@ -216,7 +221,7 @@ func refreshDir( if _, err = os.Stat(path); err != nil { goto GPGSigSkip } - resp, err := http.Get(pkgURL.String() + GPGSigExt) + resp, err := http.Get(uri + GPGSigExt) if err != nil { goto GPGSigSkip }