diff --git a/LibCore/CNetworkJob.cpp b/LibCore/CNetworkJob.cpp index f6905ed11d..67d02d5d73 100644 --- a/LibCore/CNetworkJob.cpp +++ b/LibCore/CNetworkJob.cpp @@ -16,12 +16,28 @@ void CNetworkJob::did_finish(NonnullRefPtr&& response) printf("%s{%p} job did_finish!\n", class_name(), this); ASSERT(on_finish); on_finish(true); + delete_later(); } void CNetworkJob::did_fail(Error error) { m_error = error; - dbgprintf("%s{%p} job did_fail! error=%u\n", class_name(), this, (unsigned)error); + dbgprintf("%s{%p} job did_fail! error: %u (%s)\n", class_name(), this, (unsigned)error, to_string(error)); ASSERT(on_finish); on_finish(false); + delete_later(); +} + +const char* to_string(CNetworkJob::Error error) +{ + switch (error) { + case CNetworkJob::Error::ProtocolFailed: + return "ProtocolFailed"; + case CNetworkJob::Error::ConnectionFailed: + return "ConnectionFailed"; + case CNetworkJob::Error::TransmissionFailed: + return "TransmissionFailed"; + default: + return "(Unknown error)"; + } } diff --git a/LibCore/CNetworkJob.h b/LibCore/CNetworkJob.h index faf2e370ed..b68dba5670 100644 --- a/LibCore/CNetworkJob.h +++ b/LibCore/CNetworkJob.h @@ -35,3 +35,5 @@ private: RefPtr m_response; Error m_error { Error::None }; }; + +const char* to_string(CNetworkJob::Error);