go-gzip-file-server icon indicating copy to clipboard operation
go-gzip-file-server copied to clipboard

A net.http.Handler similar to FileServer that serves gzipped content

net.http.handler.gzip: a FileServer that serves gzipped content.

Usage:

import "net/http/handler/gzip"

base := "/path/to/website/static/files" http.Handle("/static", http.StripPrefix("/static", gzip.FileServer(http.Dir(base))))

Run the example:

(checkout)

export GOPATH=pwd

go install net/http/handler/gzip/example

./bin/example

Usage of http.FileServer can be replaced with gzip.FileServer. A request for serves .gz instead if its modification time is not before the original file's, or if the original does not exist. Serves the original if the request doesn't support the "gzip" encoding. index.html can also be gzipped as a default for directories (index.html.gz).