]> Cypherpunks.ru repositories - gocheese.git/blobdiff - refresh.go
chan os.Signal should be buffered
[gocheese.git] / refresh.go
index 48b2a744f66340aa99d81f9ded75b2a82811ed33..4179953179f7e703290409b69d8b6db349d9971f 100644 (file)
@@ -1,6 +1,6 @@
 /*
 GoCheese -- Python private package repository and caching proxy
-Copyright (C) 2019-2021 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2019-2023 Sergey Matveev <stargrave@stargrave.org>
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -28,7 +28,6 @@ import (
        "errors"
        "hash"
        "io"
-       "io/ioutil"
        "log"
        "net/http"
        "net/url"
@@ -115,7 +114,7 @@ func refreshDir(
                        http.Error(w, "PyPI has non 200 status code", http.StatusBadGateway)
                        return false
                }
-               body, err := ioutil.ReadAll(resp.Body)
+               body, err := io.ReadAll(resp.Body)
                if err != nil {
                        resp.Body.Close()
                        log.Println("error", r.RemoteAddr, "refresh-json", pkgName, err)
@@ -240,8 +239,8 @@ func refreshDir(
                        return false
                }
                path := filepath.Join(dirPath, MDFile)
-               existing, err := ioutil.ReadFile(path)
-               if err != nil || bytes.Compare(existing, buf.Bytes()) != 0 {
+               existing, err := os.ReadFile(path)
+               if err != nil || !bytes.Equal(existing, buf.Bytes()) {
                        if err = WriteFileSync(dirPath, path, buf.Bytes(), now); err != nil {
                                log.Println("error", r.RemoteAddr, "refresh-json", path, err)
                                http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -284,7 +283,7 @@ func refreshDir(
                http.Error(w, "PyPI has non 200 status code", http.StatusBadGateway)
                return false
        }
-       body, err := ioutil.ReadAll(resp.Body)
+       body, err := io.ReadAll(resp.Body)
        resp.Body.Close()
        if err != nil {
                log.Println("error", r.RemoteAddr, "refresh", pkgName, err)
@@ -427,15 +426,15 @@ func refreshDir(
                                http.Error(w, err.Error(), http.StatusInternalServerError)
                                return false
                        }
-                       if bytes.Compare(hasher.Sum(nil), digest) != 0 {
+                       if !bytes.Equal(hasher.Sum(nil), digest) {
                                log.Println(r.RemoteAddr, "pypi", filename, "digest mismatch")
                                os.Remove(dst.Name())
                                dst.Close()
                                http.Error(w, "digest mismatch", http.StatusBadGateway)
                                return false
                        }
-                       if digestStored, err := ioutil.ReadFile(path + "." + hashAlgo); err == nil &&
-                               bytes.Compare(digest, digestStored) != 0 {
+                       if digestStored, err := os.ReadFile(path + "." + hashAlgo); err == nil &&
+                               !bytes.Equal(digest, digestStored) {
                                err = errors.New("stored digest mismatch")
                                log.Println("error", r.RemoteAddr, "pypi", filename, err)
                                os.Remove(dst.Name())
@@ -531,7 +530,7 @@ func refreshDir(
                                resp.Body.Close()
                                goto GPGSigSkip
                        }
-                       sig, err := ioutil.ReadAll(resp.Body)
+                       sig, err := io.ReadAll(resp.Body)
                        resp.Body.Close()
                        if err != nil {
                                goto GPGSigSkip