From 08f6c485740903050f5e8a5bac6b03bf09dd6f70 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 13 Oct 2018 09:14:46 -0400 Subject: [PATCH] ApiHeaders of IApiClient can now be set --- src/Tgstation.Server.Client/ApiClient.cs | 15 ++++++++++++--- src/Tgstation.Server.Client/IApiClient.cs | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) 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; }