ladybird/Libraries/LibRequests/NetworkError.h
Timothy Flynn b54a520b69 LibRequests+RequestServer: Add an error code for bad content encoding
This error is set by curl when, e.g., a gzipped response body has an
invalid gzip encoding.
2025-04-20 16:50:37 +02:00

54 lines
1.4 KiB
C++

/*
* Copyright (c) 2024, the Ladybird developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/StringView.h>
namespace Requests {
enum class NetworkError {
UnableToResolveProxy,
UnableToResolveHost,
UnableToConnect,
TimeoutReached,
TooManyRedirects,
SSLHandshakeFailed,
SSLVerificationFailed,
MalformedUrl,
InvalidContentEncoding,
Unknown,
};
constexpr StringView network_error_to_string(NetworkError network_error)
{
switch (network_error) {
case NetworkError::UnableToResolveProxy:
return "Unable to resolve proxy"sv;
case NetworkError::UnableToResolveHost:
return "Unable to resolve host"sv;
case NetworkError::UnableToConnect:
return "Unable to connect"sv;
case NetworkError::TimeoutReached:
return "Timeout reached"sv;
case NetworkError::TooManyRedirects:
return "Too many redirects"sv;
case NetworkError::SSLHandshakeFailed:
return "SSL handshake failed"sv;
case NetworkError::SSLVerificationFailed:
return "SSL verification failed"sv;
case NetworkError::MalformedUrl:
return "The URL is not formatted properly"sv;
case NetworkError::InvalidContentEncoding:
return "Response could not be decoded with its Content-Encoding"sv;
case NetworkError::Unknown:
return "An unexpected network error occurred"sv;
}
VERIFY_NOT_REACHED();
}
}