Handle unsupported 100-continue as a Bad Request.
With this CL, the client is able to get a clear message about their request failing due to unsupported 100-continue with the `GFE_RESPONSE_CODE_DETAILS_TRACE` header. They are also able to get `RC_BAD_REQUEST` with the `grpc-message` header.
PiperOrigin-RevId: 504833222
diff --git a/quiche/balsa/balsa_enums.cc b/quiche/balsa/balsa_enums.cc
index 6714fda..bc6b68f 100644
--- a/quiche/balsa/balsa_enums.cc
+++ b/quiche/balsa/balsa_enums.cc
@@ -106,6 +106,8 @@
return "INVALID_HEADER_NAME_CHARACTER";
case INVALID_TRAILER_NAME_CHARACTER:
return "INVALID_TRAILER_NAME_CHARACTER";
+ case UNSUPPORTED_100_CONTINUE:
+ return "UNSUPPORTED_100_CONTINUE";
case NUM_ERROR_CODES:
return "UNKNOWN_ERROR";
}
diff --git a/quiche/balsa/balsa_enums.h b/quiche/balsa/balsa_enums.h
index 07a46bf..60537a3 100644
--- a/quiche/balsa/balsa_enums.h
+++ b/quiche/balsa/balsa_enums.h
@@ -106,6 +106,10 @@
INVALID_HEADER_NAME_CHARACTER,
INVALID_TRAILER_NAME_CHARACTER,
+ // The client request included 'Expect: 100-continue' header on a protocol
+ // that doesn't support it.
+ UNSUPPORTED_100_CONTINUE,
+
NUM_ERROR_CODES
};
static const char* ParseStateToString(ParseState error_code);