https://github.com/urakozz/go-middleware-encoding
Content encoding middleware for the go-json-rest: deflate, gzip, brotli
https://github.com/urakozz/go-middleware-encoding
brotli go golang gzip json-rest
Last synced: over 1 year ago
JSON representation
Content encoding middleware for the go-json-rest: deflate, gzip, brotli
- Host: GitHub
- URL: https://github.com/urakozz/go-middleware-encoding
- Owner: urakozz
- License: mit
- Created: 2016-06-07T13:04:26.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2018-06-27T09:19:12.000Z (about 8 years ago)
- Last Synced: 2025-04-13T03:51:04.768Z (over 1 year ago)
- Topics: brotli, go, golang, gzip, json-rest
- Language: Go
- Homepage:
- Size: 8.79 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-middleware-encoding
Content encoding middleware for the go-json-rest
### Encoders:
- None Encoder
- Deflate Encoder (RFC 1950 and RFC 1951)
- Gzip Encoder (RFC 1952)
### Optional C encoders:
- C Gzip Encoder (RFC 1952)
- C Brotli encoder (no RFC yet)
### Examples
#### 1. Using default settings (deflate, gzip)
```go
package main
import (
"github.com/ant0ine/go-json-rest/rest"
"github.com/urakozz/go-middleware-encoding"
"log"
"net/http"
)
func main() {
mw := []rest.Middleware{
&rest.PoweredByMiddleware{
XPoweredBy: "Golang",
},
&mwencoding.EncodingMiddleware{},
}
api := rest.NewApi()
api.Use(mw...)
api.SetApp(rest.AppSimple(func(w rest.ResponseWriter, r *rest.Request) {
w.WriteJson(map[string]string{"Body": "Hello World!"})
}))
log.Fatal(http.ListenAndServe(":8080", api.MakeHandler()))
}
```
#### 2. Using (deflate, C-gzip, brotli)
```go
package main
import (
"github.com/ant0ine/go-json-rest/rest"
"github.com/urakozz/go-middleware-encoding"
"github.com/urakozz/go-middleware-encoding/encoding/cencoding"
"log"
"net/http"
)
func main() {
mwencoding.RegisterEncoder(&cencoding.EncoderCGzip{})
mwencoding.RegisterEncoder(&cencoding.EncoderCBrotli{})
mw := []rest.Middleware{
&rest.PoweredByMiddleware{
XPoweredBy: "Golang",
},
&mwencoding.EncodingMiddleware{},
}
api := rest.NewApi()
api.Use(mw...)
api.SetApp(rest.AppSimple(func(w rest.ResponseWriter, r *rest.Request) {
w.WriteJson(map[string]string{"Body": "Hello World!"})
}))
log.Fatal(http.ListenAndServe(":8080", api.MakeHandler()))
}
```