From af49f9a8f66431aee3c536111caf8a14ffbb773e Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Mon, 19 Sep 2022 12:15:14 +0200 Subject: [PATCH] fix --- server/gitea/cache.go | 13 +++++++------ server/gitea/client.go | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/server/gitea/cache.go b/server/gitea/cache.go index fda7314..bf87a67 100644 --- a/server/gitea/cache.go +++ b/server/gitea/cache.go @@ -65,7 +65,7 @@ type BranchTimestamp struct { } type writeCacheReader struct { - r io.Reader + rc io.ReadCloser buff *bytes.Buffer f *FileResponse cacheKey string @@ -74,7 +74,7 @@ type writeCacheReader struct { } func (t *writeCacheReader) Read(p []byte) (n int, err error) { - n, err = t.r.Read(p) + n, err = t.rc.Read(p) if err != nil { t.hasErr = true } else if n > 0 { @@ -85,16 +85,17 @@ func (t *writeCacheReader) Read(p []byte) (n int, err error) { func (t *writeCacheReader) Close() error { if !t.hasErr { - t.f.Body = t.buff.Bytes() - t.cache.Set(t.cacheKey, *t.f, fileCacheTimeout) + fc := *t.f + fc.Body = t.buff.Bytes() + _ = t.cache.Set(t.cacheKey, fc, fileCacheTimeout) } - return t.Close() + return t.rc.Close() } func (f FileResponse) CreateCacheReader(r io.ReadCloser, cache cache.SetGetKey, cacheKey string) io.ReadCloser { buf := []byte{} return &writeCacheReader{ - r: r, + rc: r, buff: bytes.NewBuffer(buf), f: &f, cacheKey: cacheKey, diff --git a/server/gitea/client.go b/server/gitea/client.go index c7ac405..3e74e8e 100644 --- a/server/gitea/client.go +++ b/server/gitea/client.go @@ -97,7 +97,7 @@ func (client *Client) ServeRawContent(targetOwner, targetRepo, ref, resource str log := log.With().Str("cache_key", cacheKey).Logger() // handle if cache entry exist - if cache, ok := client.responseCache.Get(cacheKey); ok == true { + if cache, ok := client.responseCache.Get(cacheKey); ok { cache := cache.(FileResponse) // TODO: check against some timestamp missmatch?!? if cache.Exists {