LibRequests: Move NetworkError stringification to LibRequests

Let's also rename the file to NetworkError.h while we're here. No need
to have "Enum" in the name.
This commit is contained in:
Timothy Flynn 2025-03-30 13:09:50 -04:00
parent 24e2c402f5
commit 9ad8e7782d
7 changed files with 56 additions and 52 deletions

View file

@ -1,5 +1,5 @@
set(SOURCES
NetworkErrorEnum.h
NetworkError.h
Request.cpp
RequestClient.cpp
WebSocket.cpp

View file

@ -0,0 +1,51 @@
/*
* 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,
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::Unknown:
return "An unexpected network error occurred"sv;
}
VERIFY_NOT_REACHED();
}
}

View file

@ -1,23 +0,0 @@
/*
* Copyright (c) 2024, the Ladybird developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
namespace Requests {
enum class NetworkError {
UnableToResolveProxy,
UnableToResolveHost,
UnableToConnect,
TimeoutReached,
TooManyRedirects,
SSLHandshakeFailed,
SSLVerificationFailed,
MalformedUrl,
Unknown
};
}

View file

@ -14,7 +14,7 @@
#include <AK/WeakPtr.h>
#include <LibCore/Notifier.h>
#include <LibHTTP/HeaderMap.h>
#include <LibRequests/NetworkErrorEnum.h>
#include <LibRequests/NetworkError.h>
#include <LibRequests/RequestTimingInfo.h>
namespace Requests {

View file

@ -182,30 +182,6 @@ static void log_filtered_request(LoadRequest const& request)
dbgln("ResourceLoader: Filtered request to: \"{}\"", url_for_logging);
}
static StringView network_error_to_string_view(Requests::NetworkError const& network_error)
{
switch (network_error) {
case Requests::NetworkError::UnableToResolveProxy:
return "Unable to resolve proxy"sv;
case Requests::NetworkError::UnableToResolveHost:
return "Unable to resolve host"sv;
case Requests::NetworkError::UnableToConnect:
return "Unable to connect"sv;
case Requests::NetworkError::TimeoutReached:
return "Timeout reached"sv;
case Requests::NetworkError::TooManyRedirects:
return "Too many redirects"sv;
case Requests::NetworkError::SSLHandshakeFailed:
return "SSL handshake failed"sv;
case Requests::NetworkError::SSLVerificationFailed:
return "SSL verification failed"sv;
case Requests::NetworkError::MalformedUrl:
return "The URL is not formatted properly"sv;
default:
return "An unexpected network error occurred"sv;
}
}
static bool should_block_request(LoadRequest const& request)
{
auto const& url = request.url();
@ -462,7 +438,7 @@ void ResourceLoader::load(LoadRequest& request, GC::Root<SuccessCallback> succes
if (network_error.has_value() || (status_code.has_value() && *status_code >= 400 && *status_code <= 599 && (payload.is_empty() || !request.is_main_resource()))) {
StringBuilder error_builder;
if (network_error.has_value())
error_builder.appendff("{}", network_error_to_string_view(*network_error));
error_builder.appendff("{}", Requests::network_error_to_string(*network_error));
else
error_builder.append("Load failed"sv);

View file

@ -13,7 +13,7 @@
#include <LibCore/EventLoop.h>
#include <LibCore/Proxy.h>
#include <LibCore/Socket.h>
#include <LibRequests/NetworkErrorEnum.h>
#include <LibRequests/NetworkError.h>
#include <LibRequests/RequestTimingInfo.h>
#include <LibRequests/WebSocket.h>
#include <LibTLS/TLSv12.h>

View file

@ -1,5 +1,5 @@
#include <LibHTTP/HeaderMap.h>
#include <LibRequests/NetworkErrorEnum.h>
#include <LibRequests/NetworkError.h>
#include <LibRequests/RequestTimingInfo.h>
#include <LibURL/URL.h>