From 8ac22a94836c8f3078fe56e935f680f6126211d1 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sun, 16 Jul 2023 19:26:15 -0700 Subject: [PATCH] http3: set the Content-Length header in the http.Request.Header map (#3963) --- http3/request.go | 4 +++- http3/request_test.go | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/http3/request.go b/http3/request.go index 9af25a57..126d34f1 100644 --- a/http3/request.go +++ b/http3/request.go @@ -83,10 +83,12 @@ func requestFromHeaders(headers []qpack.HeaderField) (*http.Request, error) { var contentLength int64 if len(contentLengthStr) > 0 { - contentLength, err = strconv.ParseInt(contentLengthStr, 10, 64) + cl, err := strconv.ParseInt(contentLengthStr, 10, 64) if err != nil { return nil, err } + httpHeaders.Set("Content-Length", contentLengthStr) + contentLength = cl } return &http.Request{ diff --git a/http3/request_test.go b/http3/request_test.go index ce6262a7..edaef9df 100644 --- a/http3/request_test.go +++ b/http3/request_test.go @@ -26,7 +26,8 @@ var _ = Describe("Request", func() { Expect(req.ProtoMajor).To(Equal(3)) Expect(req.ProtoMinor).To(BeZero()) Expect(req.ContentLength).To(Equal(int64(42))) - Expect(req.Header).To(BeEmpty()) + Expect(req.Header).To(HaveLen(1)) + Expect(req.Header.Get("Content-Length")).To(Equal("42")) Expect(req.Body).To(BeNil()) Expect(req.Host).To(Equal("quic.clemente.io")) Expect(req.RequestURI).To(Equal("/foo"))