let gitea client send user-agent with version (#258)

closes #255

Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/258
Reviewed-by: 6543 <6543@obermui.de>
Co-authored-by: crapStone <crapstone01@gmail.com>
Co-committed-by: crapStone <crapstone01@gmail.com>
This commit is contained in:
crapStone 2023-11-15 15:25:14 +00:00 committed by 6543
parent be92f30e64
commit 1e1c67be93

View File

@ -17,12 +17,13 @@ import (
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"codeberg.org/codeberg/pages/server/cache" "codeberg.org/codeberg/pages/server/cache"
"codeberg.org/codeberg/pages/server/version"
) )
var ErrorNotFound = errors.New("not found") var ErrorNotFound = errors.New("not found")
const ( const (
// cache key prefixe // cache key prefixes
branchTimestampCacheKeyPrefix = "branchTime" branchTimestampCacheKeyPrefix = "branchTime"
defaultBranchCacheKeyPrefix = "defaultBranch" defaultBranchCacheKeyPrefix = "defaultBranch"
rawContentCacheKeyPrefix = "rawContent" rawContentCacheKeyPrefix = "rawContent"
@ -76,7 +77,13 @@ func NewClient(giteaRoot, giteaAPIToken string, respCache cache.SetGetKey, follo
defaultMimeType = "application/octet-stream" defaultMimeType = "application/octet-stream"
} }
sdk, err := gitea.NewClient(giteaRoot, gitea.SetHTTPClient(&stdClient), gitea.SetToken(giteaAPIToken)) sdk, err := gitea.NewClient(
giteaRoot,
gitea.SetHTTPClient(&stdClient),
gitea.SetToken(giteaAPIToken),
gitea.SetUserAgent("pages-server/"+version.Version),
)
return &Client{ return &Client{
sdkClient: sdk, sdkClient: sdk,
responseCache: respCache, responseCache: respCache,
@ -172,7 +179,7 @@ func (client *Client) ServeRawContent(targetOwner, targetRepo, ref, resource str
return reader, resp.Response.Header, resp.StatusCode, err return reader, resp.Response.Header, resp.StatusCode, err
} }
// now we write to cache and respond at the sime time // now we write to cache and respond at the same time
fileResp := FileResponse{ fileResp := FileResponse{
Exists: true, Exists: true,
ETag: resp.Header.Get(ETagHeader), ETag: resp.Header.Get(ETagHeader),
@ -278,11 +285,11 @@ func shouldRespBeSavedToCache(resp *http.Response) bool {
return false return false
} }
contentLeng, err := strconv.ParseInt(contentLengthRaw, 10, 64) contentLength, err := strconv.ParseInt(contentLengthRaw, 10, 64)
if err != nil { if err != nil {
log.Error().Err(err).Msg("could not parse content length") log.Error().Err(err).Msg("could not parse content length")
} }
// if content to big or could not be determined we not cache it // if content to big or could not be determined we not cache it
return contentLeng > 0 && contentLeng < fileCacheSizeLimit return contentLength > 0 && contentLength < fileCacheSizeLimit
} }