diff options
| -rw-r--r-- | app/router.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/router.go b/app/router.go index 7921ae2..5730ab0 100644 --- a/app/router.go +++ b/app/router.go @@ -24,7 +24,11 @@ func (r *Router) handler(request *Request) func(*Request) *Response { } } -func (r *Router) write(writer io.Writer, response *Response) (err error) { +func (r *Router) write(writer io.Writer, response *Response, request *Request) (err error) { + if request.Header("Accept-Encoding") == "gzip" { + response.headers["Content-Encoding"] = "gzip" + } + _, err = writer.Write(response.StatusLine()) if err != nil { fmt.Println("Error writing status:", err) @@ -54,7 +58,7 @@ func (r *Router) Handle(conn net.Conn) error { return err } - return r.write(conn, r.handler(request)(request)) + return r.write(conn, r.handler(request)(request), request) } type Route struct { |