From d733e1abea1ff18c0e6375e6f05b0c29b679a3fc Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Mon, 13 May 2024 20:02:34 +0200 Subject: [PATCH] Don't allow sync. HTTP requests on the main thread anymore Any sync. HTTP request on the main thread is a bug, don't allow introducing one again. --- src/httpfetch.cpp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/httpfetch.cpp b/src/httpfetch.cpp index 6e7e22f86..67b60df45 100644 --- a/src/httpfetch.cpp +++ b/src/httpfetch.cpp @@ -749,19 +749,6 @@ static void httpfetch_request_clear(u64 caller) } } -static void httpfetch_sync(const HTTPFetchRequest &fetch_request, - HTTPFetchResult &fetch_result) -{ - // Create ongoing fetch data and make a cURL handle - // Set cURL options based on HTTPFetchRequest - CurlHandlePool pool; - HTTPFetchOngoing ongoing(fetch_request, &pool); - // Do the fetch (curl_easy_perform) - CURLcode res = ongoing.start(nullptr); - // Update fetch result - fetch_result = *ongoing.complete(res); -} - bool httpfetch_sync_interruptible(const HTTPFetchRequest &fetch_request, HTTPFetchResult &fetch_result, long interval) { @@ -779,7 +766,8 @@ bool httpfetch_sync_interruptible(const HTTPFetchRequest &fetch_request, } while (!httpfetch_async_get(req.caller, fetch_result)); httpfetch_caller_free(req.caller); } else { - httpfetch_sync(fetch_request, fetch_result); + throw ModError(std::string("You have tried to execute a synchronous HTTP request on the main thread! " + "This offense shall be punished. (").append(fetch_request.url).append(")")); } return true; }