diff --git a/Dalamud/Networking/Http/HappyHttpClient.cs b/Dalamud/Networking/Http/HappyHttpClient.cs index 8459f1453..4379a698f 100644 --- a/Dalamud/Networking/Http/HappyHttpClient.cs +++ b/Dalamud/Networking/Http/HappyHttpClient.cs @@ -1,6 +1,9 @@ using System; using System.Net; using System.Net.Http; +using System.Net.Http.Headers; + +using Dalamud.Utility; namespace Dalamud.Networking.Http; @@ -25,7 +28,16 @@ internal class HappyHttpClient : IDisposable, IServiceType { AutomaticDecompression = DecompressionMethods.All, ConnectCallback = this.SharedHappyEyeballsCallback.ConnectCallback, - }); + }) + { + DefaultRequestHeaders = + { + UserAgent = + { + new ProductInfoHeaderValue("Dalamud", Util.AssemblyVersion), + }, + }, + }; } /// diff --git a/Dalamud/Plugin/Internal/PluginManager.cs b/Dalamud/Plugin/Internal/PluginManager.cs index ff6b045be..9a651c64e 100644 --- a/Dalamud/Plugin/Internal/PluginManager.cs +++ b/Dalamud/Plugin/Internal/PluginManager.cs @@ -5,6 +5,8 @@ using System.Diagnostics; using System.IO; using System.IO.Compression; using System.Linq; +using System.Net.Http; +using System.Net.Http.Headers; using System.Reflection; using System.Threading; using System.Threading.Tasks; @@ -1196,7 +1198,17 @@ internal partial class PluginManager : IDisposable, IServiceType private async Task DownloadPluginAsync(RemotePluginManifest repoManifest, bool useTesting) { var downloadUrl = useTesting ? repoManifest.DownloadLinkTesting : repoManifest.DownloadLinkInstall; - var response = await this.happyHttpClient.SharedHttpClient.GetAsync(downloadUrl); + var request = new HttpRequestMessage(HttpMethod.Get, downloadUrl) + { + Headers = + { + Accept = + { + new MediaTypeWithQualityHeaderValue("application/zip"), + }, + }, + }; + var response = await this.happyHttpClient.SharedHttpClient.SendAsync(request); response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStreamAsync();