summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kriese <michael.kriese@visualon.de>2024-11-22 01:01:12 +0100
committerMichael Kriese <michael.kriese@visualon.de>2024-11-22 01:01:12 +0100
commit078ce37fb8fec85009ef606ea82593aafdd6d834 (patch)
tree9de286fdb2da02055a1606cd1710480e2ec11150
parentMerge pull request 'fix: log skipped job and step result as info instead of d... (diff)
downloadforgejo-act-078ce37fb8fec85009ef606ea82593aafdd6d834.tar.xz
forgejo-act-078ce37fb8fec85009ef606ea82593aafdd6d834.zip
fix(cache-server): use consistent uint64
-rw-r--r--pkg/artifactcache/handler.go16
-rw-r--r--pkg/artifactcache/storage.go4
2 files changed, 10 insertions, 10 deletions
diff --git a/pkg/artifactcache/handler.go b/pkg/artifactcache/handler.go
index 065c7dd..252564f 100644
--- a/pkg/artifactcache/handler.go
+++ b/pkg/artifactcache/handler.go
@@ -227,7 +227,7 @@ func (h *Handler) reserve(w http.ResponseWriter, r *http.Request, _ httprouter.P
// PATCH /_apis/artifactcache/caches/:id
func (h *Handler) upload(w http.ResponseWriter, r *http.Request, params httprouter.Params) {
- id, err := strconv.ParseInt(params.ByName("id"), 10, 64)
+ id, err := strconv.ParseUint(params.ByName("id"), 10, 64)
if err != nil {
h.responseJSON(w, r, 400, err)
return
@@ -268,7 +268,7 @@ func (h *Handler) upload(w http.ResponseWriter, r *http.Request, params httprout
// POST /_apis/artifactcache/caches/:id
func (h *Handler) commit(w http.ResponseWriter, r *http.Request, params httprouter.Params) {
- id, err := strconv.ParseInt(params.ByName("id"), 10, 64)
+ id, err := strconv.ParseUint(params.ByName("id"), 10, 64)
if err != nil {
h.responseJSON(w, r, 400, err)
return
@@ -323,13 +323,13 @@ func (h *Handler) commit(w http.ResponseWriter, r *http.Request, params httprout
// GET /_apis/artifactcache/artifacts/:id
func (h *Handler) get(w http.ResponseWriter, r *http.Request, params httprouter.Params) {
- id, err := strconv.ParseInt(params.ByName("id"), 10, 64)
+ id, err := strconv.ParseUint(params.ByName("id"), 10, 64)
if err != nil {
h.responseJSON(w, r, 400, err)
return
}
h.useCache(id)
- h.storage.Serve(w, r, uint64(id))
+ h.storage.Serve(w, r, id)
}
// POST /_apis/artifactcache/clean
@@ -394,7 +394,7 @@ func insertCache(db *bolthold.Store, cache *Cache) error {
return nil
}
-func (h *Handler) useCache(id int64) {
+func (h *Handler) useCache(id uint64) {
db, err := h.openDB()
if err != nil {
return
@@ -539,16 +539,16 @@ func (h *Handler) responseJSON(w http.ResponseWriter, r *http.Request, code int,
_, _ = w.Write(data)
}
-func parseContentRange(s string) (int64, int64, error) {
+func parseContentRange(s string) (uint64, uint64, error) {
// support the format like "bytes 11-22/*" only
s, _, _ = strings.Cut(strings.TrimPrefix(s, "bytes "), "/")
s1, s2, _ := strings.Cut(s, "-")
- start, err := strconv.ParseInt(s1, 10, 64)
+ start, err := strconv.ParseUint(s1, 10, 64)
if err != nil {
return 0, 0, fmt.Errorf("parse %q: %w", s, err)
}
- stop, err := strconv.ParseInt(s2, 10, 64)
+ stop, err := strconv.ParseUint(s2, 10, 64)
if err != nil {
return 0, 0, fmt.Errorf("parse %q: %w", s, err)
}
diff --git a/pkg/artifactcache/storage.go b/pkg/artifactcache/storage.go
index 9a2609a..0cadfa6 100644
--- a/pkg/artifactcache/storage.go
+++ b/pkg/artifactcache/storage.go
@@ -31,7 +31,7 @@ func (s *Storage) Exist(id uint64) (bool, error) {
return true, nil
}
-func (s *Storage) Write(id uint64, offset int64, reader io.Reader) error {
+func (s *Storage) Write(id uint64, offset uint64, reader io.Reader) error {
name := s.tempName(id, offset)
if err := os.MkdirAll(filepath.Dir(name), 0o755); err != nil {
return err
@@ -110,7 +110,7 @@ func (s *Storage) tempDir(id uint64) string {
return filepath.Join(s.rootDir, "tmp", fmt.Sprint(id))
}
-func (s *Storage) tempName(id uint64, offset int64) string {
+func (s *Storage) tempName(id uint64, offset uint64) string {
return filepath.Join(s.tempDir(id), fmt.Sprintf("%016x", offset))
}