diff --git a/app/MindWork AI Studio/Tools/Pandoc.cs b/app/MindWork AI Studio/Tools/Pandoc.cs
index ef6b9deb..c5826eaa 100644
--- a/app/MindWork AI Studio/Tools/Pandoc.cs
+++ b/app/MindWork AI Studio/Tools/Pandoc.cs
@@ -34,6 +34,8 @@ public static partial class Pandoc
///
private static bool HAS_LOGGED_AVAILABILITY_CHECK_ONCE;
+ private static readonly HttpClient WEB_CLIENT = new();
+
///
/// Prepares a Pandoc process by using the Pandoc process builder.
///
@@ -181,21 +183,18 @@ public static partial class Pandoc
// Download the latest Pandoc archive from GitHub:
//
var uri = await GenerateArchiveUriAsync();
- using (var client = new HttpClient())
+ var response = await WEB_CLIENT.GetAsync(uri);
+ if (!response.IsSuccessStatusCode)
{
- var response = await client.GetAsync(uri);
- if (!response.IsSuccessStatusCode)
- {
- await MessageBus.INSTANCE.SendError(new(Icons.Material.Filled.Error, TB("Pandoc was not installed successfully, because the archive was not found.")));
- LOG.LogError("Pandoc was not installed successfully, because the archive was not found (status code {0}): url='{1}', message='{2}'", response.StatusCode, uri, response.RequestMessage);
- return;
- }
-
- // Download the archive to the temporary file:
- await using var tempFileStream = File.Create(pandocTempDownloadFile);
- await response.Content.CopyToAsync(tempFileStream);
+ await MessageBus.INSTANCE.SendError(new(Icons.Material.Filled.Error, TB("Pandoc was not installed successfully, because the archive was not found.")));
+ LOG.LogError("Pandoc was not installed successfully, because the archive was not found (status code {0}): url='{1}', message='{2}'", response.StatusCode, uri, response.RequestMessage);
+ return;
}
+ // Download the archive to the temporary file:
+ await using var tempFileStream = File.Create(pandocTempDownloadFile);
+ await response.Content.CopyToAsync(tempFileStream);
+
if (uri.EndsWith(".zip", StringComparison.OrdinalIgnoreCase))
{
ZipFile.ExtractToDirectory(pandocTempDownloadFile, installDir);
@@ -245,9 +244,7 @@ public static partial class Pandoc
/// Version numbers can have the following formats: x.x, x.x.x or x.x.x.x
/// Latest Pandoc version number
public static async Task FetchLatestVersionAsync() {
- using var client = new HttpClient();
- var response = await client.GetAsync(LATEST_URL);
-
+ var response = await WEB_CLIENT.GetAsync(LATEST_URL);
if (!response.IsSuccessStatusCode)
{
LOG.LogError("Code {StatusCode}: Could not fetch Pandoc's latest page: {Response}", response.StatusCode, response.RequestMessage);