all repos — homestead @ 339da20e693b3448a9f71c85555e1831af57c0df

Code for my website

support zstandard encoding

Alan Pearce
commit

339da20e693b3448a9f71c85555e1831af57c0df

parent

11b40229600cb8f0ff46a538cfcff46908830c8f

1 file changed, 15 insertions(+), 1 deletion(-)

changed files
M internal/storage/files/writer.gointernal/storage/files/writer.go
@@ -13,6 +13,7 @@ "go.alanpearce.eu/website/internal/storage"
"go.alanpearce.eu/x/log" "github.com/andybalholm/brotli" + "github.com/klauspost/compress/zstd" "gitlab.com/tozd/go/errors" )
@@ -104,6 +105,15 @@
return brotli.NewWriterLevel(f, brotliLevel), nil } +func openFileZstd(filename string) (*zstd.Encoder, error) { + f, err := openFileWrite(filename + ".zstd") + if err != nil { + return nil, err + } + + return zstd.NewWriter(f) +} + func multiOpenFile(filename string) (*multibuf.WriteCloser, error) { r, err := openFileWrite(filename) if err != nil {
@@ -117,8 +127,12 @@ br, err := openFileBrotli(filename)
if err != nil { return nil, err } + zst, err := openFileZstd(filename) + if err != nil { + return nil, err + } - return multibuf.NewWriteCloser(r, gz, br), nil + return multibuf.NewWriteCloser(r, gz, br, zst), nil } func (f *Files) OpenFileAndVariants(filename string) (io.WriteCloser, error) {