TEST_P(DownstreamProtocolIntegrationTest, ContinueAfterLocalReply) {
  config_helper_.addFilter(R"EOF(
  name: continue-after-local-reply-filter
  typed_config:
    "@type": type.googleapis.com/google.protobuf.Empty
  )EOF");
  initialize();

  codec_client_ = makeHttpConnection(lookupPort("http"));

  // Send a headers only request.
  IntegrationStreamDecoderPtr response;
  EXPECT_ENVOY_BUG(
      {
        response = codec_client_->makeHeaderOnlyRequest(default_request_headers_);
        ASSERT_TRUE(response->waitForEndStream());
        EXPECT_TRUE(response->complete());
        EXPECT_EQ("200", response->headers().getStatusValue());
      },
      "envoy bug failure: !continue_iteration || !state_.local_complete_. "
      "Details: Filter did not return StopAll or StopIteration after sending a local reply.");
}
TEST_P(DownstreamProtocolIntegrationTest, ContinueAfterLocalReply) {
  config_helper_.addFilter(R"EOF(
  name: continue-after-local-reply-filter
  typed_config:
    "@type": type.googleapis.com/google.protobuf.Empty
  )EOF");
  initialize();

  codec_client_ = makeHttpConnection(lookupPort("http"));

   
  IntegrationStreamDecoderPtr response;
  EXPECT_ENVOY_BUG(
      {
        response = codec_client_->makeHeaderOnlyRequest(default_request_headers_);
        ASSERT_TRUE(response->waitForEndStream());
        EXPECT_TRUE(response->complete());
        EXPECT_EQ("200", response->headers().getStatusValue());
      },
      "envoy bug failure: !continue_iteration || !state_.local_complete_. "
      "Details: Filter did not return StopAll or StopIteration after sending a local reply.");
}