caddycbrotli

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2024 License: MIT Imports: 8 Imported by: 0

README

Caddy Brotli Module

This module for the Caddy web server provides support for the Brotli compression format.

It uses the reference implementation of Brotli (written in C), through the Go module provided by Google.

Tests Go Reference

Install

  1. Install cbrotli. On Mac run brew install brotli. On Debian and Ubuntu, run apt install libbrotli-dev.

  2. Then create your Caddy build:

    CGO_ENABLED=1 \
    xcaddy build \
        --with github.com/dunglas/caddy-cbrotli
    

    On Mac, be sure to adapt the paths in CGO_LDFLAGS and CGO_CFLAGS according to your Brotli installation:

    CGO_LDFLAGS="-L/opt/homebrew/lib/" \
    CGO_CFLAGS="-I/opt/homebrew/include/" \
    CGO_ENABLED=1 \
    xcaddy build \
        --with github.com/dunglas/caddy-cbrotli
    

Usage

Add the br value to the encode directive in your Caddyfile.

Example:

localhost

encode zstd br gzip

file_server

Alternatively, you can configure the quality (from 0 to 11, defaults to 6) and the base 2 logarithm of the sliding window size (from 10 to 24, defaults to auto):

Example:

localhost

encode {
    br 8 15
}

file_server

Cgo

This module depends on cgo. If you are looking for a non-cgo (but more CPU-intensive) alternative, see the github.com/ueffel/caddy-brotli module.

Credits

Created by Kévin Dunglas and sponsored by Les-Tilleuls.coop.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Br

type Br struct {
	Quality int `json:"quality,omitempty"`
	LGWin   int `json:"lgwin,omitempty"`
	// contains filtered or unexported fields
}

func (Br) AcceptEncoding

func (Br) AcceptEncoding() string

func (Br) CaddyModule

func (Br) CaddyModule() caddy.ModuleInfo

func (*Br) NewEncoder

func (b *Br) NewEncoder() encode.Encoder

func (*Br) ReturnEncoder

func (b *Br) ReturnEncoder(e encode.Encoder)

func (*Br) UnmarshalCaddyfile

func (b *Br) UnmarshalCaddyfile(d *caddyfile.Dispenser) error

func (Br) Validate

func (b Br) Validate() error

type EncoderOptions

type EncoderOptions struct {
	Quality    int
	WindowSize int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL