package main import ( "bufio" "fmt" "net/http" "os" "path/filepath" "sort" "strings" "go.wit.com/log" ) func repoHTML(w http.ResponseWriter, gourl string, realurl string) { realurl = "https://" + realurl log.Info("go repo =", gourl, "real url =", realurl) fmt.Fprintln(w, "") fmt.Fprintln(w, "") fmt.Fprintln(w, "") // fmt.Fprintln(w, fmt.Fprintln(w, "") fmt.Fprintln(w, "") fmt.Fprintln(w, "") fmt.Fprintln(w, "") fmt.Fprintln(w, "") fmt.Fprintln(w, "Nothing to see here. Please move along.\"") fmt.Fprintln(w, "") fmt.Fprintln(w, "") } func findkey(url string) (string, string) { key := "go.wit.com" + url if repoMap[key] != "" { return key, repoMap[key] } return key, "" // parts := strings.Split(key, "/") } func readconfigfile() { var pfile []byte var err error repoMap = make(map[string]string) pfile, err = os.ReadFile("/etc/gowebd/repomap") if err != nil { log.Error(err, "no repository map file found in /etc/gowebd/") log.Error(err, "falling back to the repository map file built into the gowebd binary") pfile, err = resources.ReadFile("resources/repomap") if err != nil { log.Error(err, "missing repomap in the binary") return } } configfile = strings.Split(string(pfile), "\n") for _, line := range configfile { fields := strings.Fields(line) if len(fields) < 2 { continue } repo := fields[0] realurl := fields[1] repoMap[repo] = realurl // log.Info("repo =", repo, "real url =", realurl) } for repo, _ := range repoMap { // log.Info("repo =", repo, "real url =", url) keysSorted = append(keysSorted, repo) } log.Info("sorted:") sort.Strings(keysSorted) // sort.Reverse(keys) sort.Sort(sort.Reverse(sort.StringSlice(keysSorted))) for _, key := range keysSorted { log.Info("repo =", key, "real url =", repoMap[key]) } } func readVersionFile() { versionMap = make(map[string]string) file, err := os.Open(filepath.Join(os.Getenv("HOME"), "go.wit.com.versions")) if err != nil { return } defer file.Close() scanner := bufio.NewScanner(file) for scanner.Scan() { tmp := scanner.Text() fields := strings.Split(tmp, " ") if len(fields) < 2 { continue } // log.Println("readVersionFile() fields[0] =", fields[0]) // log.Println("readVersionFile() fields[1:] =", fields[1:]) versionMap[fields[0]] = strings.Join(fields[1:], " ") } }