diff --git a/pkg/cloudevents/transport/http/transport.go b/pkg/cloudevents/transport/http/transport.go index 28e3e80f3..bc7045329 100644 --- a/pkg/cloudevents/transport/http/transport.go +++ b/pkg/cloudevents/transport/http/transport.go @@ -575,6 +575,13 @@ func (t *Transport) ServeHTTP(w http.ResponseWriter, req *http.Request) { if len(resp.Message.Header) > 0 { copyHeaders(resp.Message.Header, w.Header()) } + + status := http.StatusAccepted + if resp.StatusCode >= 200 && resp.StatusCode < 600 { + status = resp.StatusCode + } + w.WriteHeader(status) + w.Header().Add("Content-Length", strconv.Itoa(len(resp.Message.Body))) if len(resp.Message.Body) > 0 { if _, err := w.Write(resp.Message.Body); err != nil { @@ -582,11 +589,6 @@ func (t *Transport) ServeHTTP(w http.ResponseWriter, req *http.Request) { return } } - status := http.StatusAccepted - if resp.StatusCode >= 200 && resp.StatusCode < 600 { - status = resp.StatusCode - } - w.WriteHeader(status) r.OK() return