Files
mostlymatter/vendor/github.com/mattermost/gziphandler/README.md
2021-06-30 14:39:28 +05:30

60 строки
1.3 KiB
Markdown

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.
**This is forked from the original repo at https://github.com/nytimes/gziphandler
with this [PR](https://github.com/nytimes/gziphandler/pull/107) included.**
## Install
```bash
go get -u github.com/mattermost/gziphandler
```
## 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:
```go
package main
import (
"io"
"net/http"
"github.com/mattermost/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][docs], as usual.
## License
[Apache 2.0][license].
[docs]: https://godoc.org/github.com/mattermost/gziphandler
[license]: https://github.com/mattermost/gziphandler/blob/master/LICENSE