1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:47:35 +00:00

LibWeb: Don't dump full data URLs in ResourceLoader logging

Some pages use *really* large data URLs. :^)
This commit is contained in:
Andreas Kling 2021-09-16 00:52:39 +02:00
parent 58b84f953c
commit d69e4f9ca7

View file

@ -90,22 +90,29 @@ RefPtr<Resource> ResourceLoader::load_resource(Resource::Type type, LoadRequest&
return resource; return resource;
} }
static String sanitized_url_for_logging(AK::URL const& url)
{
if (url.protocol() == "data"sv)
return String::formatted("[data URL, mime-type={}, size={}]", url.data_mime_type(), url.data_payload().length());
return url.to_string();
}
void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, const HashMap<String, String, CaseInsensitiveStringTraits>& response_headers, Optional<u32> status_code)> success_callback, Function<void(const String&, Optional<u32> status_code)> error_callback) void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, const HashMap<String, String, CaseInsensitiveStringTraits>& response_headers, Optional<u32> status_code)> success_callback, Function<void(const String&, Optional<u32> status_code)> error_callback)
{ {
auto& url = request.url(); auto& url = request.url();
request.start_timer(); request.start_timer();
dbgln("ResourceLoader: Starting load of: \"{}\"", url); dbgln("ResourceLoader: Starting load of: \"{}\"", sanitized_url_for_logging(url));
const auto log_success = [](const auto& request) { const auto log_success = [](const auto& request) {
auto& url = request.url(); auto& url = request.url();
auto load_time_ms = request.load_time().to_milliseconds(); auto load_time_ms = request.load_time().to_milliseconds();
dbgln("ResourceLoader: Finished load of: \"{}\", Duration: {}ms", url, load_time_ms); dbgln("ResourceLoader: Finished load of: \"{}\", Duration: {}ms", sanitized_url_for_logging(url), load_time_ms);
}; };
const auto log_failure = [](const auto& request, const auto error_message) { const auto log_failure = [](const auto& request, const auto error_message) {
auto& url = request.url(); auto& url = request.url();
auto load_time_ms = request.load_time().to_milliseconds(); auto load_time_ms = request.load_time().to_milliseconds();
dbgln("ResourceLoader: Failed load of: \"{}\", \033[32;1mError: {}\033[0m, Duration: {}ms", url, error_message, load_time_ms); dbgln("ResourceLoader: Failed load of: \"{}\", \033[32;1mError: {}\033[0m, Duration: {}ms", sanitized_url_for_logging(url), error_message, load_time_ms);
}; };
if (is_port_blocked(url.port_or_default())) { if (is_port_blocked(url.port_or_default())) {