const absl::string_view AsyncClientImpl::ResponseBufferLimit = "http.async_response_buffer_limit";
AsyncStreamImpl::AsyncStreamImpl(AsyncClientImpl& parent, AsyncClient::StreamCallbacks& callbacks,
// Always ensure we close locally to trigger completion. Another option would be to issue a stream
// However, this would require additional logic to handle the response completion and subsequent
ENVOY_LOG(trace, "async http request response data (length={} end_stream={})", data.length(),
// closure, and this state may be updated synchronously during stream interaction and callbacks.
// immediately upon receiving a complete response, regardless of whether it has finished sending
// This guard ensures that we don't attempt to clean up a stream or fire a completion callback for
// guards against redundant cleanup), but to surface consistent stream state via callbacks, it's
child_span_ = options.parent_span_->spawnChild(Tracing::EgressConfig::get(), child_span_name,