From 46c2b9a2ffffa7f6d398861e85e008f69befa010 Mon Sep 17 00:00:00 2001 From: Eric Phillips Date: Sun, 3 May 2026 09:51:20 -0600 Subject: [PATCH] added #log at all points wherer log pkg is used --- TODO.md | 7 ++++--- handlerApi.go | 1 + handlerPkgs.go | 4 ++++ internal/cache/fetch.go | 1 + internal/cache/helpers.go | 4 ++++ main.go | 3 +++ 6 files changed, 17 insertions(+), 3 deletions(-) diff --git a/TODO.md b/TODO.md index ac121e6..f3395b3 100644 --- a/TODO.md +++ b/TODO.md @@ -1,7 +1,5 @@ -- ~add a UA to get client, some servers are 403 the default go client~ - Add better logging for errors, filename more deatail -- Solve timeout issue large pkgs, maybe stream -- ~Move project to github as primary~ +- implement streaming - Complete testing - Deployment(PKGBUILD, bootstrap script?) @@ -10,6 +8,9 @@ - Add chi for mux - Build server/tool - ~retry on failed fetch~ +- ~Solve timeout issue large pkgs~ +- ~Move project to github as primary~ +- ~add a UA to get client, some servers are 403 the default go client~ - ~Basic config Testing~ - ~flag for loading non default config~ - ~add cli option for config location~ diff --git a/handlerApi.go b/handlerApi.go index c34e2bb..b8faac9 100644 --- a/handlerApi.go +++ b/handlerApi.go @@ -11,6 +11,7 @@ func (s *Server) handlerRefresh(w http.ResponseWriter, req *http.Request) { return } if err := s.c.Refresh(); err != nil { + // #log log.Printf("refresh failed: %v", err) http.Error(w, "refresh failed", http.StatusInternalServerError) return diff --git a/handlerPkgs.go b/handlerPkgs.go index 09f8949..ed8b8ac 100644 --- a/handlerPkgs.go +++ b/handlerPkgs.go @@ -21,6 +21,7 @@ func (s *Server) handlePackage(w http.ResponseWriter, req *http.Request) { } // record the useragent from requestor + // #log log.Printf("Requestors UA: %s", req.Header.Get("User-Agent")) // build file paths from the request, they follow archlinux repo @@ -34,10 +35,12 @@ func (s *Server) handlePackage(w http.ResponseWriter, req *http.Request) { if err != nil { var upstreamErr *cache.UpstreamError if errors.As(err, &upstreamErr) { + // #log log.Printf("upstream error: %v", err) http.Error(w, "Not found upstream", upstreamErr.StatusCode) return } + // #log log.Printf("fetch error: %v", err) http.Error(w, "Failed to fetch from upstream", http.StatusBadGateway) return @@ -49,6 +52,7 @@ func (s *Server) handlePackage(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Length", strconv.FormatInt(cachedFile.Size, 10)) _, err = io.Copy(w, cachedFile.Reader) if err != nil { + // #log log.Printf("error streaming file to client: %v", err) } diff --git a/internal/cache/fetch.go b/internal/cache/fetch.go index 9311598..575f085 100644 --- a/internal/cache/fetch.go +++ b/internal/cache/fetch.go @@ -15,6 +15,7 @@ func (c *Cache) Fetch(relPath string) (*CacheFile, error) { // fetch file from upstream _, err, _ = c.sf.Do(relPath, func() (any, error) { + // #log log.Print("calling fetch") return nil, c.fetch(relPath) }) diff --git a/internal/cache/helpers.go b/internal/cache/helpers.go index 8e79f59..ec36800 100644 --- a/internal/cache/helpers.go +++ b/internal/cache/helpers.go @@ -13,11 +13,13 @@ func (c *Cache) nextMirror() string { } func downloadToDisk(url, destPath string, c http.Client) error { + // #log log.Printf("fetching %v", url) // set the user agent req, err := http.NewRequest("GET", url, nil) if err != nil { + // #log log.Printf("failed to create request: %v", err) return &UpstreamError{StatusCode: http.StatusInternalServerError} } @@ -25,10 +27,12 @@ func downloadToDisk(url, destPath string, c http.Client) error { resp, err := c.Do(req) if err != nil { + // #log log.Printf("error fetching %s: %v", url, err) return err } if resp.StatusCode != 200 { + // #log log.Printf("GET %s returned %d", url, resp.StatusCode) return &UpstreamError{StatusCode: resp.StatusCode} } diff --git a/main.go b/main.go index 9d5a700..23d3196 100644 --- a/main.go +++ b/main.go @@ -25,6 +25,7 @@ func main() { cfg, err := ReadConfig(configPath) if err != nil { + // #log log.Fatal(err) } @@ -36,6 +37,7 @@ func main() { mux.HandleFunc("POST /api/refresh", srv.handlerRefresh) if err := srv.c.Refresh(); err != nil { + // #log log.Fatal(err) } @@ -44,6 +46,7 @@ func main() { Handler: mux, } + // #log log.Printf("serving pkgstash root: %v on port: %v", cfg.CacheRoot, cfg.Port) log.Fatal(httpServe.ListenAndServe())