summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/encode/zstd/zstd.go
blob: dbcc3ec1e6777470b3daa977a8352181c29a99e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package caddyzstd

import (
	"github.com/caddyserver/caddy"
	"github.com/caddyserver/caddy/modules/caddyhttp/encode"
	"github.com/klauspost/compress/zstd"
)

func init() {
	caddy.RegisterModule(caddy.Module{
		Name: "http.encoders.zstd",
		New:  func() interface{} { return new(Zstd) },
	})
}

// Zstd can create zstd encoders.
type Zstd struct{}

// AcceptEncoding returns the name of the encoding as
// used in the Accept-Encoding request headers.
func (Zstd) AcceptEncoding() string { return "zstd" }

// NewEncoder returns a new gzip writer.
func (z Zstd) NewEncoder() encode.Encoder {
	writer, _ := zstd.NewWriter(nil)
	return writer
}

// Interface guard
var _ encode.Encoding = (*Zstd)(nil)