fix: CSS files now have the correct MIME type
This commit is contained in:
parent
85bd71cff3
commit
fc96bd8a5d
12
pages.go
12
pages.go
@ -43,9 +43,9 @@ func serveFile(username, reponame, path, giteaUrl string, w http.ResponseWriter)
|
||||
var mimeType string
|
||||
var err error
|
||||
if found {
|
||||
log.Debugf("Returning %s from cache", path)
|
||||
content = entry.(PageContentCache).Content
|
||||
mimeType = entry.(PageContentCache).mimeType
|
||||
log.Debugf("Found page in cache with mimeType '%s'", mimeType)
|
||||
}
|
||||
|
||||
// We have to do the raw request manually because the Gitea SDK does not allow
|
||||
@ -90,6 +90,13 @@ func serveFile(username, reponame, path, giteaUrl string, w http.ResponseWriter)
|
||||
return
|
||||
}
|
||||
|
||||
// Handle 404s early.
|
||||
// TODO: Maybe allow delivering a 404.html instead?
|
||||
if resp.StatusCode == 404 {
|
||||
w.WriteHeader(404)
|
||||
return
|
||||
}
|
||||
|
||||
content, err = io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
log.Errorf("Failed to get file %s/%s/%s (%s)", username, reponame, path, err)
|
||||
@ -100,6 +107,7 @@ func serveFile(username, reponame, path, giteaUrl string, w http.ResponseWriter)
|
||||
pathParts := strings.Split(path, ".")
|
||||
ext := pathParts[len(pathParts)-1]
|
||||
mimeType = mime.TypeByExtension("." + ext)
|
||||
log.Debugf("Returning MIME type '%s' for extension '%s", mimeType, ext)
|
||||
|
||||
now := time.Now()
|
||||
pageCache.Set(
|
||||
@ -113,7 +121,7 @@ func serveFile(username, reponame, path, giteaUrl string, w http.ResponseWriter)
|
||||
)
|
||||
|
||||
log.Debugf("Page %s requested from Gitea and cached in memory at %v", path, now)
|
||||
w.WriteHeader(200)
|
||||
w.Header().Set("Content-Type", mimeType)
|
||||
w.WriteHeader(200)
|
||||
w.Write(content)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user