aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjet2tlf <jet2tlf@gmail.com>2024-06-03 17:05:06 +0000
committerjet2tlf <jet2tlf@gmail.com>2024-06-03 17:05:06 +0000
commit0b23fd8bb9a20295b4a4e692dbd06b291d99f4ef (patch)
treeb1561377297ddbdd75d935e2dcc293f5b045824e
parent6df68cb970c6ec2d57a6d68fb901df70b67693bf (diff)
downloadhttp-server-go-0b23fd8bb9a20295b4a4e692dbd06b291d99f4ef.tar.gz
http-server-go-0b23fd8bb9a20295b4a4e692dbd06b291d99f4ef.zip
codecrafters submit [skip ci]
-rw-r--r--app/router.go8
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 {