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.
This commit is contained in:
Gregor Parzefall 2024-05-13 20:02:34 +02:00
parent 245595f43e
commit d89cd5bbb0
1 changed files with 2 additions and 14 deletions

View File

@ -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;
}