diff --git a/source/common/http/http1/balsa_parser.cc b/source/common/http/http1/balsa_parser.cc index e20798e1d5f9..828c3638116e 100644 --- a/source/common/http/http1/balsa_parser.cc +++ b/source/common/http/http1/balsa_parser.cc @@ -194,7 +194,11 @@ void BalsaParser::HeaderDone() { return; } headers_done_ = true; - status_ = convertResult(connection_->onHeadersComplete()); + CallbackResult result = connection_->onHeadersComplete(); + status_ = convertResult(result); + if (result == CallbackResult::NoBody || result == CallbackResult::NoBodyData) { + MessageDone(); + } } void BalsaParser::ContinueHeaderDone() {}