From 37d7db4bc459f30b9c0d415e72b320590a5328a2 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 15 Jun 2016 22:37:06 -0400 Subject: support xmltv gzip --- .../HttpClientManager/HttpClientManager.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs') diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs index f9dbd766f..ce1e9fd7f 100644 --- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs +++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs @@ -143,7 +143,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager }; } - private WebRequest GetRequest(HttpRequestOptions options, string method, bool enableHttpCompression) + private WebRequest GetRequest(HttpRequestOptions options, string method) { var request = CreateWebRequest(options.Url); var httpWebRequest = request as HttpWebRequest; @@ -154,7 +154,9 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager AddRequestHeaders(httpWebRequest, options); - httpWebRequest.AutomaticDecompression = enableHttpCompression ? DecompressionMethods.Deflate : DecompressionMethods.None; + httpWebRequest.AutomaticDecompression = options.EnableHttpCompression ? + (options.DecompressionMethod ?? DecompressionMethods.Deflate) : + DecompressionMethods.None; } request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); @@ -366,7 +368,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager }; } - var httpWebRequest = GetRequest(options, httpMethod, options.EnableHttpCompression); + var httpWebRequest = GetRequest(options, httpMethod); if (options.RequestContentBytes != null || !string.IsNullOrEmpty(options.RequestContent) || @@ -556,7 +558,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager options.CancellationToken.ThrowIfCancellationRequested(); - var httpWebRequest = GetRequest(options, "GET", options.EnableHttpCompression); + var httpWebRequest = GetRequest(options, "GET"); if (options.ResourcePool != null) { -- cgit v1.2.3 From b445948ebf9690248d9d6c5d8c019531ab91f895 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 30 Jun 2016 10:50:08 -0400 Subject: fix dlna latest lists --- .../HttpClientManager/HttpClientManager.cs | 10 ++++------ MediaBrowser.Controller/Entities/UserViewBuilder.cs | 18 ++++++++++++++---- .../Library/LibraryManager.cs | 10 ++++++++++ 3 files changed, 28 insertions(+), 10 deletions(-) (limited to 'MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs') diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs index ce1e9fd7f..5c70179a8 100644 --- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs +++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs @@ -128,11 +128,6 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager private void AddIpv4Option(HttpWebRequest request, HttpRequestOptions options) { - if (!options.PreferIpv4) - { - return; - } - request.ServicePoint.BindIPEndPointDelegate = (servicePount, remoteEndPoint, retryCount) => { if (remoteEndPoint.AddressFamily == AddressFamily.InterNetwork) @@ -150,7 +145,10 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager if (httpWebRequest != null) { - AddIpv4Option(httpWebRequest, options); + if (options.PreferIpv4) + { + AddIpv4Option(httpWebRequest, options); + } AddRequestHeaders(httpWebRequest, options); diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 0cb806274..175a7240c 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -550,7 +550,7 @@ namespace MediaBrowser.Controller.Entities query.Limit = GetSpecialItemsLimit(); query.IncludeItemTypes = new[] { typeof(Movie).Name }; - return _libraryManager.GetItemsResult(query); + return ConvertToResult(_libraryManager.GetItemList(query)); } private QueryResult GetMovieResume(Folder parent, User user, InternalItemsQuery query) @@ -564,7 +564,17 @@ namespace MediaBrowser.Controller.Entities query.Limit = GetSpecialItemsLimit(); query.IncludeItemTypes = new[] { typeof(Movie).Name }; - return _libraryManager.GetItemsResult(query); + return ConvertToResult(_libraryManager.GetItemList(query)); + } + + private QueryResult ConvertToResult(IEnumerable items) + { + var arr = items.ToArray(); + return new QueryResult + { + Items = arr, + TotalRecordCount = arr.Length + }; } private async Task> GetMovieGenres(Folder parent, User user, InternalItemsQuery query) @@ -667,7 +677,7 @@ namespace MediaBrowser.Controller.Entities query.IncludeItemTypes = new[] { typeof(Episode).Name }; query.ExcludeLocationTypes = new[] { LocationType.Virtual }; - return _libraryManager.GetItemsResult(query); + return ConvertToResult(_libraryManager.GetItemList(query)); } private QueryResult GetTvNextUp(Folder parent, InternalItemsQuery query) @@ -696,7 +706,7 @@ namespace MediaBrowser.Controller.Entities query.Limit = GetSpecialItemsLimit(); query.IncludeItemTypes = new[] { typeof(Episode).Name }; - return _libraryManager.GetItemsResult(query); + return ConvertToResult(_libraryManager.GetItemList(query)); } private QueryResult GetTvSeries(Folder parent, User user, InternalItemsQuery query) diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index ffcf9f60f..d89895b47 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -1277,6 +1277,16 @@ namespace MediaBrowser.Server.Implementations.Library public IEnumerable GetItemList(InternalItemsQuery query) { + if (query.Recursive && query.ParentId.HasValue) + { + var parent = GetItemById(query.ParentId.Value); + if (parent != null) + { + SetTopParentIdsOrAncestors(query, new List { parent }); + query.ParentId = null; + } + } + if (query.User != null) { AddUserToQuery(query, query.User); -- cgit v1.2.3