Fix Tor header on media requests

This commit is contained in:
Jan-Lukas Else 2021-08-02 21:10:38 +02:00
parent ec9ef528c4
commit ae7961ed49
2 changed files with 13 additions and 0 deletions

View File

@ -157,6 +157,13 @@ func (a *goBlog) buildRouter() (http.Handler, error) {
r.Use(middleware.RedirectSlashes) r.Use(middleware.RedirectSlashes)
r.Use(middleware.CleanPath) r.Use(middleware.CleanPath)
r.Use(middleware.GetHead) r.Use(middleware.GetHead)
// Tor
if a.cfg.Server.Tor {
r.Use(a.addOnionLocation)
}
// Cache
if cache := a.cfg.Cache; cache != nil && !cache.Enable { if cache := a.cfg.Cache; cache != nil && !cache.Enable {
r.Use(middleware.NoCache) r.Use(middleware.NoCache)
} }

View File

@ -42,6 +42,12 @@ func (a *goBlog) securityHeaders(next http.Handler) http.Handler {
w.Header().Set("X-Frame-Options", "SAMEORIGIN") w.Header().Set("X-Frame-Options", "SAMEORIGIN")
w.Header().Set("X-Xss-Protection", "1; mode=block") w.Header().Set("X-Xss-Protection", "1; mode=block")
w.Header().Set("Content-Security-Policy", "default-src 'self'"+cspDomains) w.Header().Set("Content-Security-Policy", "default-src 'self'"+cspDomains)
next.ServeHTTP(w, r)
})
}
func (a *goBlog) addOnionLocation(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if a.torAddress != "" { if a.torAddress != "" {
w.Header().Set("Onion-Location", a.torAddress+r.RequestURI) w.Header().Set("Onion-Location", a.torAddress+r.RequestURI)
} }