std::string toString()

in proxygen/lib/http/HTTP3ErrorCode.cpp [14:63]


std::string toString(HTTP3::ErrorCode code) {
  switch (code) {
    case HTTP3::ErrorCode::HTTP_NO_ERROR:
      return "HTTP: No error";
    case HTTP3::ErrorCode::HTTP_GENERAL_PROTOCOL_ERROR:
      return "HTTP: General protocol error";
    case HTTP3::ErrorCode::HTTP_INTERNAL_ERROR:
      return "HTTP: Internal error";
    case HTTP3::ErrorCode::HTTP_STREAM_CREATION_ERROR:
      return "HTTP: Stream creation error";
    case HTTP3::ErrorCode::HTTP_CLOSED_CRITICAL_STREAM:
      return "HTTP: Critical stream was closed";
    case HTTP3::ErrorCode::HTTP_FRAME_UNEXPECTED:
      return "HTTP: Unexpected frame";
    case HTTP3::ErrorCode::HTTP_FRAME_ERROR:
      return "HTTP: Frame error";
    case HTTP3::ErrorCode::HTTP_EXCESSIVE_LOAD:
      return "HTTP: Peer generating excessive load";
    case HTTP3::ErrorCode::HTTP_ID_ERROR:
      return "HTTP: ID error";
    case HTTP3::ErrorCode::HTTP_SETTINGS_ERROR:
      return "HTTP: Settings error";
    case HTTP3::ErrorCode::HTTP_MISSING_SETTINGS:
      return "HTTP: No SETTINGS frame received";
    case HTTP3::ErrorCode::HTTP_REQUEST_REJECTED:
      return "HTTP: Server did not process request";
    case HTTP3::ErrorCode::HTTP_REQUEST_CANCELLED:
      return "HTTP: Data no longer needed";
    case HTTP3::ErrorCode::HTTP_INCOMPLETE_REQUEST:
      return "HTTP: Stream terminated early";
    case HTTP3::ErrorCode::HTTP_MESSAGE_ERROR:
      return "HTTP: Malformed message";
    case HTTP3::ErrorCode::HTTP_CONNECT_ERROR:
      return "HTTP: Reset or error on CONNECT request";
    case HTTP3::ErrorCode::HTTP_VERSION_FALLBACK:
      return "HTTP: Retry over HTTP/1.1";
    case HTTP3::ErrorCode::HTTP_QPACK_DECOMPRESSION_FAILED:
      return "HTTP: QPACK decompression failed";
    case HTTP3::ErrorCode::HTTP_QPACK_ENCODER_STREAM_ERROR:
      return "HTTP: Error on QPACK encoder stream";
    case HTTP3::ErrorCode::HTTP_QPACK_DECODER_STREAM_ERROR:
      return "HTTP: Error on QPACK decoder stream";
    case HTTP3::ErrorCode::GIVEUP_ZERO_RTT:
      return "Give up Zero RTT";
  }
  LOG(WARNING)
      << "toString has unhandled ErrorCode: "
      << static_cast<std::underlying_type<HTTP3::ErrorCode>::type>(code);
  return "Unknown error";
}