in proxygen/lib/http/codec/HQUtils.cpp [29:58]
proxygen::ErrorCode hqToHttpErrorCode(HTTP3::ErrorCode err) {
switch (err) {
case HTTP3::ErrorCode::HTTP_NO_ERROR:
return ErrorCode::NO_ERROR;
case HTTP3::ErrorCode::HTTP_REQUEST_REJECTED:
return ErrorCode::REFUSED_STREAM;
case HTTP3::ErrorCode::HTTP_INTERNAL_ERROR:
return ErrorCode::INTERNAL_ERROR;
case HTTP3::ErrorCode::HTTP_REQUEST_CANCELLED:
return ErrorCode::CANCEL;
case HTTP3::ErrorCode::HTTP_CONNECT_ERROR:
return ErrorCode::CONNECT_ERROR;
case HTTP3::ErrorCode::HTTP_EXCESSIVE_LOAD:
return ErrorCode::ENHANCE_YOUR_CALM;
case HTTP3::ErrorCode::HTTP_VERSION_FALLBACK:
return ErrorCode::INTERNAL_ERROR;
case HTTP3::ErrorCode::HTTP_CLOSED_CRITICAL_STREAM:
case HTTP3::ErrorCode::HTTP_MISSING_SETTINGS:
case HTTP3::ErrorCode::HTTP_FRAME_UNEXPECTED:
case HTTP3::ErrorCode::HTTP_STREAM_CREATION_ERROR:
case HTTP3::ErrorCode::HTTP_FRAME_ERROR:
case HTTP3::ErrorCode::HTTP_ID_ERROR:
case HTTP3::ErrorCode::HTTP_SETTINGS_ERROR:
case HTTP3::ErrorCode::HTTP_INCOMPLETE_REQUEST:
case HTTP3::ErrorCode::HTTP_MESSAGE_ERROR:
return ErrorCode::PROTOCOL_ERROR;
default:
return ErrorCode::INTERNAL_ERROR;
}
}