diff --git a/src/Tgstation.Server.Client/IServerClient.cs b/src/Tgstation.Server.Client/IServerClient.cs index bab14898f7..9432ea9afd 100644 --- a/src/Tgstation.Server.Client/IServerClient.cs +++ b/src/Tgstation.Server.Client/IServerClient.cs @@ -16,9 +16,9 @@ namespace Tgstation.Server.Client Uri Url { get; } /// - /// The being used to access the server + /// The used to access the server /// - Token Token { get; } + Token Token { get; set; } /// /// The connection timeout diff --git a/src/Tgstation.Server.Client/ServerClient.cs b/src/Tgstation.Server.Client/ServerClient.cs index de049e6aa5..b8af8889ef 100644 --- a/src/Tgstation.Server.Client/ServerClient.cs +++ b/src/Tgstation.Server.Client/ServerClient.cs @@ -13,7 +13,15 @@ namespace Tgstation.Server.Client public Uri Url => apiClient.Url; /// - public Token Token { get; } + public Token Token + { + get => token; + set + { + token = value ?? throw new InvalidOperationException("Cannot set a null Token!"); + apiClient.Headers = new ApiHeaders(apiClient.Headers.UserAgent, token.Bearer); + } + } /// public TimeSpan Timeout @@ -36,6 +44,11 @@ namespace Tgstation.Server.Client /// readonly IApiClient apiClient; + /// + /// Backing field for + /// + Token token; + /// /// Construct a /// @@ -44,7 +57,7 @@ namespace Tgstation.Server.Client public ServerClient(IApiClient apiClient, Token token) { this.apiClient = apiClient ?? throw new ArgumentNullException(nameof(apiClient)); - Token = token ?? throw new ArgumentNullException(nameof(token)); + token = token ?? throw new ArgumentNullException(nameof(token)); if (Token.Bearer != apiClient.Headers.Token) throw new ArgumentOutOfRangeException(nameof(token), token, "Provided token does not match apiClient headers!");