all repos — homestead @ 3fc8094d18e9d0be354492e0b3a3aca11ae1a1d6

Code for my website

send custom style hashes, if available

Alan Pearce
commit

3fc8094d18e9d0be354492e0b3a3aca11ae1a1d6

parent

5ca6e013dfd43d10cd32486df0e817d3679ca3dd

2 files changed, 8 insertions(+), 0 deletions(-)

changed files
M internal/storage/sqlite/writer.gointernal/storage/sqlite/writer.go
@@ -259,6 +259,10 @@ return fault.Wrap(err, fmsg.With("could not calculate file etag"))
} } + if err := content.SeekStart(); err != nil { + return fault.Wrap(err, fmsg.With("seeking content start")) + } + err = file.CalculateStyleHash() if err != nil { return fault.Wrap(err, fmsg.With("calculating file hash"))
M internal/website/mux.gointernal/website/mux.go
@@ -2,6 +2,7 @@ package website
import ( "encoding/json" + "fmt" "net/http" "regexp" "slices"
@@ -77,6 +78,9 @@ }
website.counter.Count(r, file.Title) w.Header().Add("ETag", file.Etag) w.Header().Add("Vary", "Accept-Encoding") + if file.StyleHash != "" { + CSPHeader.StyleSrc = append(CSPHeader.StyleSrc, fmt.Sprintf("'%s'", file.StyleHash)) + } w.Header().Add("Content-Security-Policy", CSPHeader.String()) for k, v := range ExtraHeaders { w.Header().Add(k, v)