proxygen::ErrorCode hqToHttpErrorCode()

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;
  }
}