Compare commits

...

2 Commits

2 changed files with 11 additions and 4 deletions

View File

@ -265,7 +265,7 @@ func makeTlsConfig(pagesDomain, path string, acmeClient *lego.Client) *tls.Confi
defer unlockDomain(domain)
// Request new certificate
log.Debugf("Obtaining new certificate for %s...", domain)
log.Infof("Obtaining new certificate for %s...", domain)
err := ObtainNewCertificate(
[]string{domain},
path,
@ -284,7 +284,6 @@ func makeTlsConfig(pagesDomain, path string, acmeClient *lego.Client) *tls.Confi
return cert.TlsCertificate, nil
}
log.Debugf("TLS ServerName: %s", info.ServerName)
return Certificates.FallbackCertificate.TlsCertificate, nil
},
NextProtos: []string{

View File

@ -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)
}