diff --git a/transport/http_transport.go b/transport/http_transport.go index 3e8bce8b..2dfe7944 100644 --- a/transport/http_transport.go +++ b/transport/http_transport.go @@ -192,6 +192,9 @@ func (h *httpTransportSocket) Recv(m *Message) error { if m == nil { return errors.New("message passed in is nil") } + if m.Header == nil { + m.Header = make(map[string]string, len(h.r.Header)) + } // process http 1 if h.r.ProtoMajor == 1 { @@ -224,10 +227,6 @@ func (h *httpTransportSocket) Recv(m *Message) error { r.Body.Close() m.Body = b - if m.Header == nil { - m.Header = make(map[string]string, len(r.Header)) - } - // set headers for k, v := range r.Header { if len(v) > 0 {