diff --git a/src/Tgstation.Server.Client/ApiClient.cs b/src/Tgstation.Server.Client/ApiClient.cs
index 8107fc1913..452bcf1e23 100644
--- a/src/Tgstation.Server.Client/ApiClient.cs
+++ b/src/Tgstation.Server.Client/ApiClient.cs
@@ -21,7 +21,11 @@ namespace Tgstation.Server.Client
public Uri Url { get; }
///
- public ApiHeaders Headers { get; }
+ public ApiHeaders Headers
+ {
+ get => headers;
+ set => headers = value ?? throw new InvalidOperationException("Cannot set null headers!");
+ }
///
public TimeSpan Timeout
@@ -40,6 +44,11 @@ namespace Tgstation.Server.Client
///
readonly List requestLoggers;
+ ///
+ /// Backing field for
+ ///
+ ApiHeaders headers;
+
///
/// Construct an
///
@@ -50,7 +59,7 @@ namespace Tgstation.Server.Client
{
this.httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient));
Url = url ?? throw new ArgumentNullException(nameof(url));
- Headers = apiHeaders ?? throw new ArgumentNullException(nameof(apiHeaders));
+ headers = apiHeaders ?? throw new ArgumentNullException(nameof(apiHeaders));
requestLoggers = new List();
}
@@ -89,7 +98,7 @@ namespace Tgstation.Server.Client
if (body != null)
message.Content = new StringContent(JsonConvert.SerializeObject(body, serializerSettings), Encoding.UTF8, ApiHeaders.ApplicationJson);
- Headers.SetRequestHeaders(message.Headers, instanceId);
+ headers.SetRequestHeaders(message.Headers, instanceId);
await Task.WhenAll(requestLoggers.Select(x => x.LogRequest(message, cancellationToken))).ConfigureAwait(false);
diff --git a/src/Tgstation.Server.Client/IApiClient.cs b/src/Tgstation.Server.Client/IApiClient.cs
index 48c7d93234..7eb8538156 100644
--- a/src/Tgstation.Server.Client/IApiClient.cs
+++ b/src/Tgstation.Server.Client/IApiClient.cs
@@ -10,7 +10,7 @@ namespace Tgstation.Server.Client
///
interface IApiClient : IDisposable
{
- ApiHeaders Headers { get; }
+ ApiHeaders Headers { get; set; }
Uri Url { get; }