Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nytimes/gziphandler
Go middleware to gzip HTTP responses
https://github.com/nytimes/gziphandler
go golang gzip http middleware
Last synced: about 1 month ago
JSON representation
Go middleware to gzip HTTP responses
- Host: GitHub
- URL: https://github.com/nytimes/gziphandler
- Owner: nytimes
- License: apache-2.0
- Created: 2015-01-22T22:43:10.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-15T09:51:10.000Z (4 months ago)
- Last Synced: 2024-10-29T19:59:47.434Z (about 1 month ago)
- Topics: go, golang, gzip, http, middleware
- Language: Go
- Homepage: https://godoc.org/github.com/NYTimes/gziphandler
- Size: 132 KB
- Stars: 871
- Watchers: 44
- Forks: 129
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-golang-repositories - gziphandler
README
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 mainimport (
"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