zurückgeben Ich versuche, eine Gzip-Antwort mit dem Golang-Framework Gin zurückgeben.Wie Gzip Antwort für Golang Gin-Framework
Sie bieten hier ein Beispiel: https://github.com/gin-gonic/contrib/blob/master/gzip/example/example.go
package main
import (
"fmt"
"github.com/gin-gonic/contrib/gzip"
"github.com/gin-gonic/gin"
"time"
)
func main() {
r := gin.Default()
r.Use(gzip.Gzip(gzip.DefaultCompression))
r.GET("/ping", func(c *gin.Context) {
c.String(200, "pong "+fmt.Sprint(time.Now().Unix()))
})
// Listen and Server in 0.0.0.0:8080
r.Run(":8080")
}
Wenn ich dieses Beispiel sein nicht gzipped Inhalt zurück.
Mit dem obigen Code ich die folgende Ausgabe von curl
curl -v -H "Accept-Encoding: gzip" 'http://localhost:8080/ping'
Trying ::1...
Connected to localhost (::1) port 8080 (#0) GET /ping HTTP/1.1 Host: localhost:8080 User-Agent: curl/7.43.0 Accept:/Accept-Encoding: gzip
< HTTP/1.1 200 OK
< Content-Encoding: gzip
< Content-Type: text/plain; charset=utf-8
< Vary: Accept-Encoding
< Date: Mon, 18 Jul 2016 17:20:56 GMT
< Content-Length: 38
<
Connection #0 to host localhost left intact pong 1468862456?n????
Beachten Sie den Inhalt erhalten, ist nicht im gzip und es gibt zusätzliche Junk-Zeichen hinzugefügt.
"? N ????"
Bis jetzt kann ich nicht herausfinden, wie man es bringt, gzip zurückzugeben. Ich denke, es gibt einen Fehler im Beispielcode, aber ich habe Probleme, es herauszufinden.
Vielen Dank im Voraus.