)
var (
+ pkgPyPI = regexp.MustCompile(`^.*<a href="([^"]+)"[^>]*>(.+)</a><br/>.*$`)
+ Version string = "UNKNOWN"
+
root = flag.String("root", "./packages", "Path to packages directory")
bind = flag.String("bind", "[::]:8080", "Address to bind to")
tlsCert = flag.String("tls-cert", "", "Path to TLS X.509 certificate")
maxClients = flag.Int("maxclients", 128, "Maximal amount of simultaneous clients")
version = flag.Bool("version", false, "Print version information")
warranty = flag.Bool("warranty", false, "Print warranty information")
-
- pkgPyPI = regexp.MustCompile(`^.*<a href="([^"]+)"[^>]*>(.+)</a><br/>.*$`)
- Version string = "UNKNOWN"
-
- passwords map[string]Auther = make(map[string]Auther)
)
-type Auther interface {
- Auth(password string) bool
-}
-
func mkdirForPkg(w http.ResponseWriter, r *http.Request, dir string) bool {
path := filepath.Join(*root, dir)
if _, err := os.Stat(path); os.IsNotExist(err) {
http.Error(w, err.Error(), http.StatusBadGateway)
return false
}
- defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
+ resp.Body.Close()
if err != nil {
http.Error(w, err.Error(), http.StatusBadGateway)
return false
_, err = os.Stat(path)
if err == nil {
continue
- } else {
- if !os.IsNotExist(err) {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- return false
- }
+ }
+ if !os.IsNotExist(err) {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return false
}
log.Println(r.RemoteAddr, "pypi touch", filename)
if err = ioutil.WriteFile(path, digest, os.FileMode(0666)); err != nil {
HTMLElement,
strings.Join([]string{
*refreshURLPath, dir, "/",
- filenameClean, "#", SHA256Prefix, string(data),
+ filenameClean, "#", SHA256Prefix, hex.EncodeToString(data),
}, ""),
filenameClean,
)))