This is an automated email from the ASF dual-hosted git repository.
duke8253 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new 2623029741 update HTTP/3 error codes (#9793)
2623029741 is described below
commit 262302974119704999b768365fc39f23e7348bed
Author: Fei Deng <[email protected]>
AuthorDate: Fri Jun 9 09:50:23 2023 -0400
update HTTP/3 error codes (#9793)
---
proxy/http3/Http3DebugNames.cc | 76 +++++++++++++++++++-----------------------
proxy/http3/Http3Frame.cc | 2 +-
proxy/http3/Http3Types.h | 39 ++++++++++------------
3 files changed, 52 insertions(+), 65 deletions(-)
diff --git a/proxy/http3/Http3DebugNames.cc b/proxy/http3/Http3DebugNames.cc
index 2d1e87a605..77a53f3a73 100644
--- a/proxy/http3/Http3DebugNames.cc
+++ b/proxy/http3/Http3DebugNames.cc
@@ -94,48 +94,40 @@ const char *
Http3DebugNames::error_code(uint16_t code)
{
switch (code) {
- case static_cast<uint16_t>(Http3ErrorCode::NO_ERROR):
- return "NO_ERROR";
- case static_cast<uint16_t>(Http3ErrorCode::WRONG_SETTING_DIRECTION):
- return "WRONG_SETTING_DIRECTION";
- case static_cast<uint16_t>(Http3ErrorCode::PUSH_REFUSED):
- return "PUSH_REFUSED";
- case static_cast<uint16_t>(Http3ErrorCode::INTERNAL_ERROR):
- return "INTERNAL_ERROR";
- case static_cast<uint16_t>(Http3ErrorCode::PUSH_ALREADY_IN_CACHE):
- return "PUSH_ALREADY_IN_CACHE";
- case static_cast<uint16_t>(Http3ErrorCode::REQUEST_CANCELLED):
- return "REQUEST_CANCELLED";
- case static_cast<uint16_t>(Http3ErrorCode::INCOMPLETE_REQUEST):
- return "INCOMPLETE_REQUEST";
- case static_cast<uint16_t>(Http3ErrorCode::CONNECT_ERROR):
- return "CONNECT_ERROR";
- case static_cast<uint16_t>(Http3ErrorCode::EXCESSIVE_LOAD):
- return "EXCESSIVE_LOAD";
- case static_cast<uint16_t>(Http3ErrorCode::VERSION_FALLBACK):
- return "VERSION_FALLBACK";
- case static_cast<uint16_t>(Http3ErrorCode::WRONG_STREAM):
- return "WRONG_STREAM";
- case static_cast<uint16_t>(Http3ErrorCode::LIMIT_EXCEEDED):
- return "LIMIT_EXCEEDED";
- case static_cast<uint16_t>(Http3ErrorCode::DUPLICATE_PUSH):
- return "DUPLICATE_PUSH";
- case static_cast<uint16_t>(Http3ErrorCode::UNKNOWN_STREAM_TYPE):
- return "UNKNOWN_STREAM_TYPE";
- case static_cast<uint16_t>(Http3ErrorCode::WRONG_STREAM_COUNT):
- return "WRONG_STREAM_COUNT";
- case static_cast<uint16_t>(Http3ErrorCode::CLOSED_CRITICAL_STREAM):
- return "CLOSED_CRITICAL_STREAM";
- case static_cast<uint16_t>(Http3ErrorCode::WRONG_STREAM_DIRECTION):
- return "WRONG_STREAM_DIRECTION";
- case static_cast<uint16_t>(Http3ErrorCode::EARLY_RESPONSE):
- return "EARLY_RESPONSE";
- case static_cast<uint16_t>(Http3ErrorCode::MISSING_SETTINGS):
- return "MISSING_SETTINGS";
- case static_cast<uint16_t>(Http3ErrorCode::UNEXPECTED_FRAME):
- return "UNEXPECTED_FRAME";
- case static_cast<uint16_t>(Http3ErrorCode::REQUEST_REJECTED):
- return "REQUEST_REJECTED";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_NO_ERROR):
+ return "H3_NO_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_GENERAL_PROTOCOL_ERROR):
+ return "H3_GENERAL_PROTOCOL_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_INTERNAL_ERROR):
+ return "H3_INTERNAL_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_STREAM_CREATION_ERROR):
+ return "H3_STREAM_CREATION_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_CLOSED_CRITICAL_STREAM):
+ return "H3_CLOSED_CRITICAL_STREAM";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_FRAME_UNEXPECTED):
+ return "H3_FRAME_UNEXPECTED";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_FRAME_ERROR):
+ return "H3_FRAME_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_EXCESSIVE_LOAD):
+ return "H3_EXCESSIVE_LOAD";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_ID_ERROR):
+ return "H3_ID_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_SETTINGS_ERROR):
+ return "H3_SETTINGS_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_MISSING_SETTINGS):
+ return "H3_MISSING_SETTINGS";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_REQUEST_REJECTED):
+ return "H3_REQUEST_REJECTED";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_REQUEST_CANCELLED):
+ return "H3_REQUEST_CANCELLED";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_REQUEST_INCOMPLETE):
+ return "H3_REQUEST_INCOMPLETE";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_MESSAGE_ERROR):
+ return "H3_MESSAGE_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_CONNECT_ERROR):
+ return "H3_CONNECT_ERROR";
+ case static_cast<uint16_t>(Http3ErrorCode::H3_VERSION_FALLBACK):
+ return "H3_VERSION_FALLBACK";
case static_cast<uint16_t>(Http3ErrorCode::QPACK_DECOMPRESSION_FAILED):
return "QPACK_DECOMPRESSION_FAILED";
case static_cast<uint16_t>(Http3ErrorCode::QPACK_ENCODER_STREAM_ERROR):
diff --git a/proxy/http3/Http3Frame.cc b/proxy/http3/Http3Frame.cc
index 7498387847..3fe2b8c8d9 100644
--- a/proxy/http3/Http3Frame.cc
+++ b/proxy/http3/Http3Frame.cc
@@ -262,7 +262,7 @@ Http3SettingsFrame::Http3SettingsFrame(const uint8_t *buf,
size_t buf_len, uint3
while (len < buf_len) {
if (nsettings >= max_settings) {
- this->_error_code = Http3ErrorCode::EXCESSIVE_LOAD;
+ this->_error_code = Http3ErrorCode::H3_EXCESSIVE_LOAD;
this->_error_reason = reinterpret_cast<const char *>("too many
settings");
break;
}
diff --git a/proxy/http3/Http3Types.h b/proxy/http3/Http3Types.h
index f2ac5e8f7d..218a537a83 100644
--- a/proxy/http3/Http3Types.h
+++ b/proxy/http3/Http3Types.h
@@ -73,28 +73,23 @@ enum class Http3ErrorClass {
// Actual error code of QPACK is not decided yet on qpack-05. It will be
changed.
enum class Http3ErrorCode : uint16_t {
- NO_ERROR = 0x0000,
- WRONG_SETTING_DIRECTION = 0x0001,
- PUSH_REFUSED = 0x0002,
- INTERNAL_ERROR = 0x0003,
- PUSH_ALREADY_IN_CACHE = 0x0004,
- REQUEST_CANCELLED = 0x0005,
- INCOMPLETE_REQUEST = 0x0006,
- CONNECT_ERROR = 0x0007,
- EXCESSIVE_LOAD = 0x0008,
- VERSION_FALLBACK = 0x0009,
- WRONG_STREAM = 0x000A,
- LIMIT_EXCEEDED = 0x000B,
- DUPLICATE_PUSH = 0x000C,
- UNKNOWN_STREAM_TYPE = 0x000D,
- WRONG_STREAM_COUNT = 0x000E,
- CLOSED_CRITICAL_STREAM = 0x000F,
- WRONG_STREAM_DIRECTION = 0x0010,
- EARLY_RESPONSE = 0x0011,
- MISSING_SETTINGS = 0x0012,
- UNEXPECTED_FRAME = 0x0013,
- REQUEST_REJECTED = 0x0014,
- MALFORMED_FRAME = 0x0100,
+ H3_NO_ERROR = 0x0100,
+ H3_GENERAL_PROTOCOL_ERROR = 0x0101,
+ H3_INTERNAL_ERROR = 0x0102,
+ H3_STREAM_CREATION_ERROR = 0x0103,
+ H3_CLOSED_CRITICAL_STREAM = 0x0104,
+ H3_FRAME_UNEXPECTED = 0x0105,
+ H3_FRAME_ERROR = 0x0106,
+ H3_EXCESSIVE_LOAD = 0x0107,
+ H3_ID_ERROR = 0x0108,
+ H3_SETTINGS_ERROR = 0x0109,
+ H3_MISSING_SETTINGS = 0x010a,
+ H3_REQUEST_REJECTED = 0x010b,
+ H3_REQUEST_CANCELLED = 0x010c,
+ H3_REQUEST_INCOMPLETE = 0x010d,
+ H3_MESSAGE_ERROR = 0x010e,
+ H3_CONNECT_ERROR = 0x010f,
+ H3_VERSION_FALLBACK = 0x0110,
QPACK_DECOMPRESSION_FAILED = 0x200,
QPACK_ENCODER_STREAM_ERROR = 0x201,
QPACK_DECODER_STREAM_ERROR = 0x202,