Personal Git forge.
package appimport ( "farga/templating" "log" "net/http" "net/url" "strconv")const defaultPageSize = 50// parseUintParam parses query[key] as a uint32, returning def when absent.func parseUintParam(query url.Values, key string, def uint64) (uint64, error) { v := query.Get(key) if v == "" { return def, nil } return strconv.ParseUint(v, 10, 32)}func (a *App) Discover(w http.ResponseWriter, r *http.Request) { query := r.URL.Query() start, err := parseUintParam(query, "start", 0) if err != nil { http.Error(w, "400 Invalid start.", http.StatusBadRequest) return } repos, err := a.Store.PagedPublicRepos(int(start), int(start+defaultPageSize)) if err != nil { http.Error(w, "500 Internal Server Error.", http.StatusInternalServerError) log.Println("whoops. paged repos went wrong. check me out!!! fix me!!!") return } templating.Render(w, r, "base", "discover", map[string]any{ "Repos": repos, })}