Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions source/common/quic/codec_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,14 @@ QuicHttpClientConnectionImpl::QuicHttpClientConnectionImpl(
session.set_max_inbound_header_list_size(max_request_headers_kb * 1024);
}

void QuicHttpClientConnectionImpl::goAway() {
// TODO(alyssawilk) remove these guards once QUICHE has been updated to remove
// the perspective check.
#if defined(NDEBUG)
quic_client_session_.SendHttp3GoAway(quic::QUIC_PEER_GOING_AWAY, "client goaway");
#endif
}

Http::RequestEncoder&
QuicHttpClientConnectionImpl::newStream(Http::ResponseDecoder& response_decoder) {
EnvoyQuicClientStream* stream =
Expand Down
4 changes: 2 additions & 2 deletions source/common/quic/codec_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ class QuicHttpClientConnectionImpl : public QuicHttpConnectionImplBase,
Http::RequestEncoder& newStream(Http::ResponseDecoder& response_decoder) override;

// Http::Connection
void goAway() override { NOT_REACHED_GCOVR_EXCL_LINE; }
void shutdownNotice() override { NOT_REACHED_GCOVR_EXCL_LINE; }
void goAway() override;
void shutdownNotice() override {}
void onUnderlyingConnectionAboveWriteBufferHighWatermark() override;
void onUnderlyingConnectionBelowWriteBufferLowWatermark() override;

Expand Down
7 changes: 2 additions & 5 deletions test/integration/multiplexed_integration_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ using ::testing::MatchesRegex;

namespace Envoy {

// TODO(#2557) fix all the failures.
#define EXCLUDE_DOWNSTREAM_HTTP3 \
if (downstreamProtocol() == Http::CodecType::HTTP3) { \
return; \
Expand Down Expand Up @@ -906,8 +905,7 @@ TEST_P(Http2IntegrationTest, GrpcRetry) { testGrpcRetry(); }

// Verify the case where there is an HTTP/2 codec/protocol error with an active stream.
TEST_P(Http2IntegrationTest, CodecErrorAfterStreamStart) {
// TODO(#16757) Needs HTTP/3 "bad frame" equivalent.
EXCLUDE_DOWNSTREAM_HTTP3;
EXCLUDE_DOWNSTREAM_HTTP3; // The HTTP/3 client has no "bad frame" equivalent.
initialize();
codec_client_ = makeHttpConnection(lookupPort("http"));

Expand Down Expand Up @@ -940,7 +938,7 @@ TEST_P(Http2IntegrationTest, Http2BadMagic) {
}

TEST_P(Http2IntegrationTest, BadFrame) {
EXCLUDE_DOWNSTREAM_HTTP3; // Needs HTTP/3 "bad frame" equivalent.
EXCLUDE_DOWNSTREAM_HTTP3; // The HTTP/3 client has no "bad frame" equivalent.

initialize();
std::string response;
Expand All @@ -956,7 +954,6 @@ TEST_P(Http2IntegrationTest, BadFrame) {
// Send client headers, a GoAway and then a body and ensure the full request and
// response are received.
TEST_P(Http2IntegrationTest, GoAway) {
EXCLUDE_DOWNSTREAM_HTTP3; // QuicHttpClientConnectionImpl::goAway NOT_REACHED_GCOVR_EXCL_LINE
config_helper_.prependFilter(ConfigHelper::defaultHealthCheckFilter());
initialize();

Expand Down
6 changes: 0 additions & 6 deletions test/integration/protocol_integration_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,6 @@ void setDoNotValidateRouteConfig(
route_config->mutable_validate_clusters()->set_value(false);
};

// TODO(#2557) fix all the failures.
#define EXCLUDE_DOWNSTREAM_HTTP3 \
if (downstreamProtocol() == Http::CodecType::HTTP3) { \
return; \
}

TEST_P(ProtocolIntegrationTest, TrailerSupportHttp1) {
config_helper_.addConfigModifier(setEnableDownstreamTrailersHttp1());
config_helper_.addConfigModifier(setEnableUpstreamTrailersHttp1());
Expand Down