aws / aws/aws-lambda-go

BUG: lambdaurl.Wrap still does not add Content-Length headers?

Offen
#577 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug
Vorherrschende Sprache
Go
Sterne
3.8k
Forks
578
Ø Merge
8 Std. 18 Min.
Gemergte PRs (30 T.)
1

Beschreibung

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.

Following https://github.com/aws/aws-lambda-go/issues/508,

> The [`http.ResponseWriter`](https://pkg.go.dev/net/http#ResponseWriter) implementation says the following thing about Content-Type header (and it actually has a note about Content-Length too).
>
> > If WriteHeader has not yet been called, Write calls
> > WriteHeader(http.StatusOK) before writing the data. If the Header
> > does not contain a Content-Type line, Write adds a Content-Type set
> > to the result of passing the initial 512 bytes of written data to
> > DetectContentType. Additionally, if the total size of all written
> > data is under a few KB and there are no Flush calls, the
> > Content-Length header is added automatically.
>
> As of right now the `lambdaurl.Wrap` implementation completely misses this . . .

which get closed as a part of https://github.com/aws/aws-lambda-go/releases/tag/v1.42.0

However a quick search of `Content-Length` in the change log of
https://github.com/aws/aws-lambda-go/compare/v1.41.0...v1.42.0

did not get any hits:

> ![image](https://github.com/user-attachments/assets/209c54c0-deb4-46c5-b131-aacc02d5a29a)

Are the Content-Length headers being added now?

**Describe the solution you'd like**

Add the Content-Length headers, _properly_.

**Additional context**

For a handler like:

```go
mux.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(200)
_, _ = w.Write([]byte("Hello World!"))
})
```

I was able to get return from it if I try it locally, However, if using lambdaurl, I got empty returns, i.e., **`Content-Length: 0`**.

Please double-check. Thanks

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne bei der Implementierung von lambdaurl.Wrap und vergleiche das Verhalten von ResponseWriter mit dem in der Beschreibung des Issues beschriebenen Verhalten von net/http. Führe den bereitgestellten /hello-Handler lokal über lambdaurl aus und überprüfe anschließend, dass eine kleine Response die erwartete Content-Length und den erwarteten Body zurückgibt, statt Content-Length: 0.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
aws, go
Bereich
api, backend, cloud
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.