fix edgecases

This commit is contained in:
6543 2022-11-11 05:50:29 +01:00
parent 51c3cf7e9b
commit f18169fdc2
No known key found for this signature in database
GPG Key ID: B8BE6D610E61C862
2 changed files with 12 additions and 6 deletions

View File

@ -57,7 +57,7 @@ func (f FileResponse) createHttpResponse(cacheKey string) (http.Header, int) {
}
header.Set(ETagHeader, f.ETag)
header.Set(ContentTypeHeader, f.MimeType)
header.Set(ContentLengthHeader, fmt.Sprint(len(f.Body)))
header.Set(ContentLengthHeader, fmt.Sprintf("%d", len(f.Body)))
header.Set(PagesCacheIndicatorHeader, "true")
log.Trace().Msgf("fileCache for '%s' used", cacheKey)

View File

@ -157,13 +157,19 @@ func (o *Options) Upstream(ctx *context.Context, giteaClient *gitea.Client) (fin
log.Debug().Msg("Handling error")
// Set ETag & MIME
ctx.RespWriter.Header().Set(gitea.ETagHeader, header.Get(gitea.ETagHeader))
ctx.RespWriter.Header().Set(gitea.PagesCacheIndicatorHeader, header.Get(gitea.PagesCacheIndicatorHeader))
ctx.RespWriter.Header().Set(gitea.ContentLengthHeader, header.Get(gitea.ContentLengthHeader))
if o.ServeRaw {
if eTag := header.Get(gitea.ETagHeader); eTag != "" {
ctx.RespWriter.Header().Set(gitea.ETagHeader, eTag)
}
if cacheIndicator := header.Get(gitea.PagesCacheIndicatorHeader); cacheIndicator != "" {
ctx.RespWriter.Header().Set(gitea.PagesCacheIndicatorHeader, cacheIndicator)
}
if length := header.Get(gitea.ContentLengthHeader); length != "" {
ctx.RespWriter.Header().Set(gitea.ContentLengthHeader, length)
}
if mime := header.Get(gitea.ContentTypeHeader); mime == "" || o.ServeRaw {
ctx.RespWriter.Header().Set(gitea.ContentTypeHeader, rawMime)
} else {
ctx.RespWriter.Header().Set(gitea.ContentTypeHeader, header.Get(gitea.ContentTypeHeader))
ctx.RespWriter.Header().Set(gitea.ContentTypeHeader, mime)
}
if ctx.StatusCode != http.StatusNotFound {