diff options
| author | jet2tlf <jet2tlf@gmail.com> | 2024-06-03 17:05:06 +0000 |
|---|---|---|
| committer | jet2tlf <jet2tlf@gmail.com> | 2024-06-03 17:05:06 +0000 |
| commit | 0b23fd8bb9a20295b4a4e692dbd06b291d99f4ef (patch) | |
| tree | b1561377297ddbdd75d935e2dcc293f5b045824e /app/router.go | |
| parent | 6df68cb970c6ec2d57a6d68fb901df70b67693bf (diff) | |
| download | http-server-go-0b23fd8bb9a20295b4a4e692dbd06b291d99f4ef.tar.gz http-server-go-0b23fd8bb9a20295b4a4e692dbd06b291d99f4ef.zip | |
codecrafters submit [skip ci]
Diffstat (limited to 'app/router.go')
| -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 { |