prometheus-adapter/vendor/github.com/NYTimes/gziphandler
Solly Ross a293b2bf94 Check in the vendor directory
Travis seems to be having issues pulling deps, so we'll have to check in
the vendor directory and prevent the makefile from trying to regenerate
it normally.
2018-07-13 17:32:49 -04:00
..
.gitignore Check in the vendor directory 2018-07-13 17:32:49 -04:00
.travis.yml Check in the vendor directory 2018-07-13 17:32:49 -04:00
CODE_OF_CONDUCT.md Check in the vendor directory 2018-07-13 17:32:49 -04:00
CONTRIBUTING.md Check in the vendor directory 2018-07-13 17:32:49 -04:00
gzip.go Check in the vendor directory 2018-07-13 17:32:49 -04:00
gzip_go18.go Check in the vendor directory 2018-07-13 17:32:49 -04:00
LICENSE Check in the vendor directory 2018-07-13 17:32:49 -04:00
README.md Check in the vendor directory 2018-07-13 17:32:49 -04:00

Gzip Handler

This is a tiny Go package which wraps HTTP handlers to transparently gzip the response body, for clients which support it. Although it's usually simpler to leave that to a reverse proxy (like nginx or Varnish), this package is useful when that's undesirable.

Usage

Call GzipHandler with any handler (an object which implements the http.Handler interface), and it'll return a new handler which gzips the response. For example:

package main

import (
	"io"
	"net/http"
	"github.com/NYTimes/gziphandler"
)

func main() {
	withoutGz := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		w.Header().Set("Content-Type", "text/plain")
		io.WriteString(w, "Hello, World")
	})

	withGz := gziphandler.GzipHandler(withoutGz)

	http.Handle("/", withGz)
	http.ListenAndServe("0.0.0.0:8000", nil)
}

Documentation

The docs can be found at godoc.org, as usual.

License

Apache 2.0.