mirror of https://github.com/go-gitea/gitea
Git with a cup of tea, painless self-hosted git service
Mirror for internal git.with.parts use
https://git.with.parts
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.1 KiB
56 lines
1.1 KiB
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.
|
|
|
|
## Install
|
|
```bash
|
|
go get -u github.com/NYTimes/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/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][docs], as usual.
|
|
|
|
|
|
## License
|
|
|
|
[Apache 2.0][license].
|
|
|
|
|
|
|
|
|
|
[docs]: https://godoc.org/github.com/NYTimes/gziphandler
|
|
[license]: https://github.com/NYTimes/gziphandler/blob/master/LICENSE
|
|
|