TmdbTrailerProvider.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma warning disable CS1591
  2. using System.Collections.Generic;
  3. using System.Net.Http;
  4. using System.Threading;
  5. using System.Threading.Tasks;
  6. using MediaBrowser.Common.Net;
  7. using MediaBrowser.Controller.Entities;
  8. using MediaBrowser.Controller.Providers;
  9. using MediaBrowser.Model.Providers;
  10. using MediaBrowser.Providers.Plugins.Tmdb.Movies;
  11. namespace MediaBrowser.Providers.Plugins.Tmdb.Trailers
  12. {
  13. public class TmdbTrailerProvider : IHasOrder, IRemoteMetadataProvider<Trailer, TrailerInfo>
  14. {
  15. private readonly IHttpClientFactory _httpClientFactory;
  16. public TmdbTrailerProvider(IHttpClientFactory httpClientFactory)
  17. {
  18. _httpClientFactory = httpClientFactory;
  19. }
  20. public string Name => TmdbMovieProvider.Current.Name;
  21. public int Order => 0;
  22. public Task<IEnumerable<RemoteSearchResult>> GetSearchResults(TrailerInfo searchInfo, CancellationToken cancellationToken)
  23. {
  24. return TmdbMovieProvider.Current.GetMovieSearchResults(searchInfo, cancellationToken);
  25. }
  26. public Task<MetadataResult<Trailer>> GetMetadata(TrailerInfo info, CancellationToken cancellationToken)
  27. {
  28. return TmdbMovieProvider.Current.GetItemMetadata<Trailer>(info, cancellationToken);
  29. }
  30. public Task<HttpResponseMessage> GetImageResponse(string url, CancellationToken cancellationToken)
  31. {
  32. return _httpClientFactory.CreateClient(NamedClient.Default).GetAsync(url, cancellationToken);
  33. }
  34. }
  35. }