code review fixes woohoo

This commit is contained in:
orangix 2024-03-27 08:06:11 +01:00 committed by video-prize-ranch
parent 6f7e694fd4
commit 924ad83ac6
No known key found for this signature in database
2 changed files with 14 additions and 15 deletions

View File

@ -187,12 +187,13 @@ func (client *Client) ServeRawContent(targetOwner, targetRepo, ref, resource str
// Check if size of gzipped response is greater than fileCacheSizeLimit and return gzipped
// response but uncached or return non-gzip response if not supported
len := int64(buf.Len());
shouldRespBeSavedToCache := len < fileCacheSizeLimit
shouldRespBeSavedToCache := int64(buf.Len()) < fileCacheSizeLimit
if !shouldRespBeSavedToCache {
return io.NopCloser(buf), resp.Response.Header, resp.StatusCode, err
} else if !shouldRespBeSavedToCache && !acceptsGzip {
return reader, resp.Response.Header, resp.StatusCode, err
if acceptsGzip {
return io.NopCloser(buf), resp.Response.Header, resp.StatusCode, err
} else {
return reader, resp.Response.Header, resp.StatusCode, err
}
}
// now we write to cache and respond at the same time

View File

@ -202,16 +202,14 @@ func (o *Options) Upstream(ctx *context.Context, giteaClient *gitea.Client, redi
}
// Decompress response if gzip is not supported
r := reader
if !acceptsGzip {
r, err = gzip.NewReader(reader)
if err != nil {
log.Error().Err(err).Msgf("Couldn't decompress for %q", o.TargetPath)
html.ReturnErrorPage(ctx, "", http.StatusInternalServerError)
return true
}
} else {
if acceptsGzip {
ctx.RespWriter.Header().Set("Content-Encoding", "gzip")
} else if r, err := gzip.NewReader(reader); err == nil {
reader = r
} else {
log.Error().Err(err).Msgf("Couldn't decompress for %q", o.TargetPath)
html.ReturnErrorPage(ctx, "", http.StatusInternalServerError)
return true
}
// Set ETag & MIME
@ -223,7 +221,7 @@ func (o *Options) Upstream(ctx *context.Context, giteaClient *gitea.Client, redi
// Write the response body to the original request
if reader != nil {
_, err := io.Copy(ctx.RespWriter, r)
_, err := io.Copy(ctx.RespWriter, reader)
if err != nil {
log.Error().Err(err).Msgf("Couldn't write body for %q", o.TargetPath)
html.ReturnErrorPage(ctx, "", http.StatusInternalServerError)