From 8e6b5df03f17c1585b400530844d7a97d77c77d0 Mon Sep 17 00:00:00 2001 From: cxfksword <718792+cxfksword@users.noreply.github.com> Date: Thu, 5 Jan 2023 15:06:18 +0800 Subject: [PATCH] Fix proxy image --- .../EpisodeProviderTest.cs | 4 ++- .../MovieProviderTest.cs | 10 +++++-- .../SeasonProviderTest.cs | 4 ++- .../SeriesProviderTest.cs | 4 ++- .../Providers/BaseProvider.cs | 29 +++++++++++++++---- .../Providers/EpisodeImageProvider.cs | 5 ++-- .../Providers/EpisodeProvider.cs | 5 ++-- .../Providers/MovieImageProvider.cs | 5 ++-- .../Providers/MovieProvider.cs | 6 ++-- .../Providers/PersonImageProvider.cs | 5 ++-- .../Providers/PersonProvider.cs | 5 ++-- .../Providers/SeasonImageProvider.cs | 5 ++-- .../Providers/SeasonProvider.cs | 5 ++-- .../Providers/SeriesImageProvider.cs | 5 ++-- .../Providers/SeriesProvider.cs | 5 ++-- 15 files changed, 71 insertions(+), 31 deletions(-) diff --git a/Jellyfin.Plugin.MetaShark.Test/EpisodeProviderTest.cs b/Jellyfin.Plugin.MetaShark.Test/EpisodeProviderTest.cs index d83094d..f8f3102 100644 --- a/Jellyfin.Plugin.MetaShark.Test/EpisodeProviderTest.cs +++ b/Jellyfin.Plugin.MetaShark.Test/EpisodeProviderTest.cs @@ -12,6 +12,7 @@ using System.Text; using System.Threading.Tasks; using MediaBrowser.Common.Configuration; using MediaBrowser.Model.Serialization; +using Microsoft.AspNetCore.Http; namespace Jellyfin.Plugin.MetaShark.Test { @@ -34,12 +35,13 @@ namespace Jellyfin.Plugin.MetaShark.Test { var httpClientFactory = new DefaultHttpClientFactory(); var libraryManagerStub = new Mock(); + var httpContextAccessorStub = new Mock(); var doubanApi = new DoubanApi(loggerFactory); var tmdbApi = new TmdbApi(loggerFactory); var omdbApi = new OmdbApi(loggerFactory); - var provider = new EpisodeProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, doubanApi, tmdbApi, omdbApi); + var provider = new EpisodeProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, httpContextAccessorStub.Object, doubanApi, tmdbApi, omdbApi); var guessInfo = provider.GuessEpisodeNumber("[POPGO][Stand_Alone_Complex][05][1080P][BluRay][x264_FLACx2_AC3x1][chs_jpn][D87C36B6].mkv"); Assert.AreEqual(guessInfo.episodeNumber, 5); diff --git a/Jellyfin.Plugin.MetaShark.Test/MovieProviderTest.cs b/Jellyfin.Plugin.MetaShark.Test/MovieProviderTest.cs index a54f73a..6cc168f 100644 --- a/Jellyfin.Plugin.MetaShark.Test/MovieProviderTest.cs +++ b/Jellyfin.Plugin.MetaShark.Test/MovieProviderTest.cs @@ -4,6 +4,7 @@ using Jellyfin.Plugin.MetaShark.Providers; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Moq; using System; @@ -37,10 +38,11 @@ namespace Jellyfin.Plugin.MetaShark.Test var omdbApi = new OmdbApi(loggerFactory); var httpClientFactory = new DefaultHttpClientFactory(); var libraryManagerStub = new Mock(); + var httpContextAccessorStub = new Mock(); Task.Run(async () => { - var provider = new MovieProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, doubanApi, tmdbApi, omdbApi); + var provider = new MovieProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, httpContextAccessorStub.Object, doubanApi, tmdbApi, omdbApi); var result = await provider.GetMetadata(info, CancellationToken.None); Assert.IsNotNull(result); @@ -58,10 +60,11 @@ namespace Jellyfin.Plugin.MetaShark.Test var omdbApi = new OmdbApi(loggerFactory); var httpClientFactory = new DefaultHttpClientFactory(); var libraryManagerStub = new Mock(); + var httpContextAccessorStub = new Mock(); Task.Run(async () => { - var provider = new MovieProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, doubanApi, tmdbApi, omdbApi); + var provider = new MovieProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, httpContextAccessorStub.Object, doubanApi, tmdbApi, omdbApi); var result = await provider.GetMetadata(info, CancellationToken.None); Assert.IsNotNull(result); @@ -79,10 +82,11 @@ namespace Jellyfin.Plugin.MetaShark.Test var omdbApi = new OmdbApi(loggerFactory); var httpClientFactory = new DefaultHttpClientFactory(); var libraryManagerStub = new Mock(); + var httpContextAccessorStub = new Mock(); Task.Run(async () => { - var provider = new MovieProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, doubanApi, tmdbApi, omdbApi); + var provider = new MovieProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, httpContextAccessorStub.Object, doubanApi, tmdbApi, omdbApi); var result = await provider.GetMetadata(info, CancellationToken.None); Assert.IsNotNull(result); diff --git a/Jellyfin.Plugin.MetaShark.Test/SeasonProviderTest.cs b/Jellyfin.Plugin.MetaShark.Test/SeasonProviderTest.cs index 3207e01..610918a 100644 --- a/Jellyfin.Plugin.MetaShark.Test/SeasonProviderTest.cs +++ b/Jellyfin.Plugin.MetaShark.Test/SeasonProviderTest.cs @@ -4,6 +4,7 @@ using Jellyfin.Plugin.MetaShark.Providers; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Moq; using System; @@ -37,10 +38,11 @@ namespace Jellyfin.Plugin.MetaShark.Test var omdbApi = new OmdbApi(loggerFactory); var httpClientFactory = new DefaultHttpClientFactory(); var libraryManagerStub = new Mock(); + var httpContextAccessorStub = new Mock(); Task.Run(async () => { - var provider = new SeasonProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, doubanApi, tmdbApi, omdbApi); + var provider = new SeasonProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, httpContextAccessorStub.Object, doubanApi, tmdbApi, omdbApi); var result = await provider.GetMetadata(info, CancellationToken.None); Assert.IsNotNull(result); diff --git a/Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs b/Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs index fb76419..ebdcc21 100644 --- a/Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs +++ b/Jellyfin.Plugin.MetaShark.Test/SeriesProviderTest.cs @@ -3,6 +3,7 @@ using Jellyfin.Plugin.MetaShark.Core; using Jellyfin.Plugin.MetaShark.Providers; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Moq; using System; @@ -36,10 +37,11 @@ namespace Jellyfin.Plugin.MetaShark.Test var omdbApi = new OmdbApi(loggerFactory); var httpClientFactory = new DefaultHttpClientFactory(); var libraryManagerStub = new Mock(); + var httpContextAccessorStub = new Mock(); Task.Run(async () => { - var provider = new SeriesProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, doubanApi, tmdbApi, omdbApi); + var provider = new SeriesProvider(httpClientFactory, loggerFactory, libraryManagerStub.Object, httpContextAccessorStub.Object, doubanApi, tmdbApi, omdbApi); var result = await provider.GetMetadata(info, CancellationToken.None); Assert.IsNotNull(result); diff --git a/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs index 2738017..39ff210 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/BaseProvider.cs @@ -21,6 +21,7 @@ using System.Web; using TMDbLib.Objects.General; using Jellyfin.Plugin.MetaShark.Configuration; using Jellyfin.Plugin.MetaShark.Core; +using Microsoft.AspNetCore.Http; namespace Jellyfin.Plugin.MetaShark.Providers { @@ -47,6 +48,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers protected readonly TmdbApi _tmdbApi; protected readonly OmdbApi _omdbApi; protected readonly ILibraryManager _libraryManager; + protected readonly IHttpContextAccessor _httpContextAccessor; protected Regex regMetaSourcePrefix = new Regex(@"^\[.+\]", RegexOptions.Compiled); @@ -58,7 +60,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers } } - protected BaseProvider(IHttpClientFactory httpClientFactory, ILogger logger, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + protected BaseProvider(IHttpClientFactory httpClientFactory, ILogger logger, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) { this._doubanApi = doubanApi; this._tmdbApi = tmdbApi; @@ -66,6 +68,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers this._libraryManager = libraryManager; this._logger = logger; this._httpClientFactory = httpClientFactory; + this._httpContextAccessor = httpContextAccessor; } protected async Task GuessByDoubanAsync(ItemLookupInfo info, CancellationToken cancellationToken) @@ -241,7 +244,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers // 豆瓣的imdb id可能是旧的,需要先从omdb接口获取最新的imdb id var omdbItem = await this._omdbApi.GetByImdbID(imdb, cancellationToken).ConfigureAwait(false); - if (omdbItem != null) + if (!string.IsNullOrEmpty(omdbItem?.ImdbID)) { imdb = omdbItem.ImdbID; } @@ -266,11 +269,27 @@ namespace Jellyfin.Plugin.MetaShark.Providers } - + /// + /// 浏览器来源请求,返回代理地址(no-referer对于background-image不生效),其他客户端请求,返回原始图片地址 + /// protected string GetProxyImageUrl(string url) { - var encodedUrl = HttpUtility.UrlEncode(url); - return $"/plugin/metashark/proxy/image/?url={encodedUrl}"; + var fromWeb = false; + if (_httpContextAccessor.HttpContext != null) + { + var clientInfo = _httpContextAccessor.HttpContext.Request.Headers.FirstOrDefault(x => x.Key == "X-Emby-Authorization").Value.FirstOrDefault() ?? string.Empty; + fromWeb = clientInfo.Contains("Jellyfin Web"); + } + + if (fromWeb) + { + var encodedUrl = HttpUtility.UrlEncode(url); + return $"/plugin/metashark/proxy/image/?url={encodedUrl}"; + } + else + { + return url; + } } protected void Log(string? message, params object?[] args) diff --git a/Jellyfin.Plugin.MetaShark/Providers/EpisodeImageProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/EpisodeImageProvider.cs index 3ef69e6..502acb7 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/EpisodeImageProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/EpisodeImageProvider.cs @@ -11,6 +11,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Providers; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; @@ -33,8 +34,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers /// Instance of the interface. /// Instance of the interface. /// Instance of . - public EpisodeImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public EpisodeImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { } diff --git a/Jellyfin.Plugin.MetaShark/Providers/EpisodeProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/EpisodeProvider.cs index 0d9d67a..ff7d050 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/EpisodeProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/EpisodeProvider.cs @@ -20,6 +20,7 @@ using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Entities; +using Microsoft.AspNetCore.Http; namespace Jellyfin.Plugin.MetaShark.Providers { @@ -37,8 +38,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers new(@"(\d{2,})") }; - public EpisodeProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public EpisodeProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { this._memoryCache = new MemoryCache(new MemoryCacheOptions()); } diff --git a/Jellyfin.Plugin.MetaShark/Providers/MovieImageProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/MovieImageProvider.cs index db37027..73a5a69 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/MovieImageProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/MovieImageProvider.cs @@ -10,6 +10,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Providers; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; @@ -30,8 +31,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers /// Instance of the interface. /// Instance of the interface. /// Instance of . - public MovieImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public MovieImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { } diff --git a/Jellyfin.Plugin.MetaShark/Providers/MovieProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/MovieProvider.cs index c46170c..6fed18e 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/MovieProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/MovieProvider.cs @@ -19,6 +19,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Providers; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Newtonsoft.Json.Linq; using StringMetric; @@ -31,8 +32,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers { public class MovieProvider : BaseProvider, IRemoteMetadataProvider { - public MovieProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public MovieProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { } @@ -48,6 +49,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers { return result; } + // 从douban搜索 var res = await this._doubanApi.SearchAsync(info.Name, cancellationToken).ConfigureAwait(false); result.AddRange(res.Take(this.config.MaxSearchResult).Select(x => diff --git a/Jellyfin.Plugin.MetaShark/Providers/PersonImageProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/PersonImageProvider.cs index 38f3ae7..11266a2 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/PersonImageProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/PersonImageProvider.cs @@ -10,6 +10,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Providers; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; @@ -30,8 +31,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers /// Instance of the interface. /// Instance of the interface. /// Instance of . - public PersonImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public PersonImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { } diff --git a/Jellyfin.Plugin.MetaShark/Providers/PersonProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/PersonProvider.cs index 5aa806e..c431d5f 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/PersonProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/PersonProvider.cs @@ -18,6 +18,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using TMDbLib.Objects.Find; +using Microsoft.AspNetCore.Http; namespace Jellyfin.Plugin.MetaShark.Providers { @@ -32,8 +33,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers /// Instance of the interface. /// Instance of the interface. /// Instance of . - public PersonProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public PersonProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { } diff --git a/Jellyfin.Plugin.MetaShark/Providers/SeasonImageProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/SeasonImageProvider.cs index 382b34e..ab83e45 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/SeasonImageProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/SeasonImageProvider.cs @@ -10,6 +10,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Providers; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; @@ -31,8 +32,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers /// Instance of the interface. /// Instance of the interface. /// Instance of . - public SeasonImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public SeasonImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { } diff --git a/Jellyfin.Plugin.MetaShark/Providers/SeasonProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/SeasonProvider.cs index 7fbd844..84b9364 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/SeasonProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/SeasonProvider.cs @@ -20,14 +20,15 @@ using System.Threading.Tasks; using TMDbLib.Objects.Find; using TMDbLib.Objects.TvShows; using System.Text.RegularExpressions; +using Microsoft.AspNetCore.Http; namespace Jellyfin.Plugin.MetaShark.Providers { public class SeasonProvider : BaseProvider, IRemoteMetadataProvider { - public SeasonProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public SeasonProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { } diff --git a/Jellyfin.Plugin.MetaShark/Providers/SeriesImageProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/SeriesImageProvider.cs index 434e8bd..b502e7a 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/SeriesImageProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/SeriesImageProvider.cs @@ -10,6 +10,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Providers; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; @@ -30,8 +31,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers /// Instance of the interface. /// Instance of the interface. /// Instance of . - public SeriesImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public SeriesImageProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { } diff --git a/Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs b/Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs index 5d8a845..88b2d26 100644 --- a/Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs +++ b/Jellyfin.Plugin.MetaShark/Providers/SeriesProvider.cs @@ -7,6 +7,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Providers; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; @@ -24,8 +25,8 @@ namespace Jellyfin.Plugin.MetaShark.Providers { public class SeriesProvider : BaseProvider, IRemoteMetadataProvider { - public SeriesProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) - : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, doubanApi, tmdbApi, omdbApi) + public SeriesProvider(IHttpClientFactory httpClientFactory, ILoggerFactory loggerFactory, ILibraryManager libraryManager, IHttpContextAccessor httpContextAccessor, DoubanApi doubanApi, TmdbApi tmdbApi, OmdbApi omdbApi) + : base(httpClientFactory, loggerFactory.CreateLogger(), libraryManager, httpContextAccessor, doubanApi, tmdbApi, omdbApi) { }