)
var (
- root = flag.String("root", "./packages", "Path to packages directory")
- bind = flag.String("bind", "[::]:8080", "Address to bind to")
- simpleURLPath = flag.String("simple", "/simple/", "/simple/ URL path")
- refreshURLPath = flag.String("refresh", "/refresh/", "Auto-refreshing URL path")
- pypiURL = flag.String("pypi", "https://pypi.org/simple/", "Upstream PyPI URL")
- auth = flag.String("auth", "spam:foo", "login:password,...")
- fsck = flag.Bool("fsck", false, "Check integrity of all packages")
- version = flag.Bool("version", false, "Print version information")
- warranty = flag.Bool("warranty", false, "Print warranty information")
+ root = flag.String("root", "./packages", "Path to packages directory")
+ bind = flag.String("bind", "[::]:8080", "Address to bind to")
+ norefreshURLPath = flag.String("norefresh", "/norefresh/", "Non-refreshing URL path")
+ refreshURLPath = flag.String("refresh", "/simple/", "Auto-refreshing URL path")
+ pypiURL = flag.String("pypi", "https://pypi.org/simple/", "Upstream PyPI URL")
+ auth = flag.String("auth", "spam:foo", "login:password,...")
+ fsck = flag.Bool("fsck", false, "Check integrity of all packages")
+ 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"
if file.Mode().IsDir() {
w.Write([]byte(fmt.Sprintf(
HTMLElement,
- *simpleURLPath+file.Name()+"/",
+ *refreshURLPath+file.Name()+"/",
file.Name(),
)))
}
w.Write([]byte(fmt.Sprintf(
HTMLElement,
strings.Join([]string{
- *simpleURLPath, dir, "/",
+ *refreshURLPath, dir, "/",
filenameClean, "#", SHA256Prefix, string(data),
}, ""),
filenameClean,
if r.Method == "GET" {
var path string
var autorefresh bool
- if strings.HasPrefix(r.URL.Path, *simpleURLPath) {
- path = strings.TrimPrefix(r.URL.Path, *simpleURLPath)
+ if strings.HasPrefix(r.URL.Path, *norefreshURLPath) {
+ path = strings.TrimPrefix(r.URL.Path, *norefreshURLPath)
autorefresh = false
} else {
path = strings.TrimPrefix(r.URL.Path, *refreshURLPath)
passwords[splitted[0]] = splitted[1]
}
log.Println("root:", *root, "bind:", *bind)
- http.HandleFunc(*simpleURLPath, handler)
+ http.HandleFunc(*norefreshURLPath, handler)
http.HandleFunc(*refreshURLPath, handler)
log.Fatal(http.ListenAndServe(*bind, nil))
}