From 8b0744ef9d829b14eec48a9f2a30cf8b4e951f4f Mon Sep 17 00:00:00 2001 From: Shawn Smith Date: Sat, 6 Feb 2016 14:15:37 +0900 Subject: [PATCH] only save to boltdb if it's a force refresh --- handlers/check.go | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/handlers/check.go b/handlers/check.go index 1597cde..ab6fa64 100644 --- a/handlers/check.go +++ b/handlers/check.go @@ -48,26 +48,29 @@ func CheckHandler(w http.ResponseWriter, r *http.Request) { } w.Write(respBytes) - // write to boltdb - db, err := bolt.Open(DBPath, 0755, &bolt.Options{Timeout: 1 * time.Second}) - if err != nil { - log.Println("Failed to open bolt database: ", err) - return - } - defer db.Close() - - log.Printf("Saving repo %q to cache...", repo) - - err = db.Update(func(tx *bolt.Tx) error { - b := tx.Bucket([]byte(RepoBucket)) - if b == nil { - return fmt.Errorf("repo bucket not found") + if forceRefresh { + // write to boltdb + db, err := bolt.Open(DBPath, 0755, &bolt.Options{Timeout: 1 * time.Second}) + if err != nil { + log.Println("Failed to open bolt database: ", err) + return } - return b.Put([]byte(repo), respBytes) - }) + defer db.Close() - if err != nil { - log.Println("Bolt writing error:", err) + log.Printf("Saving repo %q to cache...", repo) + + err = db.Update(func(tx *bolt.Tx) error { + b := tx.Bucket([]byte(RepoBucket)) + if b == nil { + return fmt.Errorf("repo bucket not found") + } + return b.Put([]byte(repo), respBytes) + }) + + if err != nil { + log.Println("Bolt writing error:", err) + } } + return }