Merge pull request #38 from mattkduran/master

Added new method for auth headers
This commit is contained in:
DarkFighterLuke
2025-03-10 22:46:11 +01:00
committed by GitHub
2 changed files with 34 additions and 3 deletions
@@ -88,6 +88,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration
{
_tubeArchivistApiKey = value;
Plugin.Instance?.LogTAApiConnectionStatus();
Plugin.Instance?.UpdateAuthorizationHeader(value);
}
}
@@ -124,8 +125,20 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration
set
{
value.Replace(" ", string.Empty, StringComparison.CurrentCulture).Split(',').ToList().ForEach(u => _jfUsernamesTo.Add(u));
_logger.LogDebug("Set JFUsernamesTo to: {Message}", value);
// Clear existing usernames
_jfUsernamesTo.Clear();
// Split by comma, then trim each part to remove leading/trailing spaces
foreach (var username in value.Split(','))
{
var trimmedUsername = username.Trim();
if (!string.IsNullOrEmpty(trimmedUsername))
{
_jfUsernamesTo.Add(trimmedUsername);
}
}
_logger.LogDebug("Set JFUsernamesTo to: {Message}", string.Join(", ", _jfUsernamesTo));
}
}
@@ -57,7 +57,8 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
handler.AllowAutoRedirect = false;
handler.CheckCertificateRevocationList = true;
HttpClient = new HttpClient(handler);
HttpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Token", Instance?.Configuration.TubeArchivistApiKey);
UpdateAuthorizationHeader(Configuration.TubeArchivistApiKey);
SessionManager = sessionManager;
sessionManager.PlaybackProgress += OnPlaybackProgress;
LibraryManager = libraryManager;
@@ -128,6 +129,23 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
}
};
/// <summary>
/// Updates the HTTP client's Authorization header with the current API key.
/// </summary>
/// <param name="apiKey">TubeArchivist API key.</param>
public void UpdateAuthorizationHeader(string apiKey)
{
if (!string.IsNullOrEmpty(apiKey))
{
HttpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Token", apiKey);
Logger.LogInformation("{Message}", "Updated Authorization header with API key");
}
else
{
Logger.LogWarning("{Message}", "No TubeArchivist API key configured");
}
}
/// <summary>
/// Logs the TubeArchivist API connection status.
/// </summary>