diff --git a/request.go b/request.go index 7c08b21..b655648 100644 --- a/request.go +++ b/request.go @@ -5,6 +5,7 @@ import ( "encoding/base64" "fmt" "net/http" + "net/textproto" "net/url" "strconv" "strings" @@ -60,7 +61,7 @@ func NewRequest(ctx context.Context, e events.APIGatewayProxyRequest) (*http.Req } for k, values := range e.MultiValueHeaders { - req.Header[k] = values + req.Header[textproto.CanonicalMIMEHeaderKey(k)] = values } // content-length diff --git a/response.go b/response.go index 22c6664..4e14b07 100644 --- a/response.go +++ b/response.go @@ -63,6 +63,7 @@ func (w *ResponseWriter) WriteHeader(status int) { for k, v := range w.Header() { if len(v) == 1 { h[k] = v[0] + mvh[k] = v } else if len(v) > 1 { mvh[k] = v }