diff options
| author | Bond-009 <bond.009@outlook.com> | 2019-11-13 16:40:34 +0100 |
|---|---|---|
| committer | Bond-009 <bond.009@outlook.com> | 2019-11-13 16:40:34 +0100 |
| commit | d161b9cbfcb9e149a2d4c9acfb5bae0b7ee333e3 (patch) | |
| tree | 97d2e65afeb483c5d4d2a95ac0a03c8996773225 /Emby.Dlna | |
| parent | aea4ef94713cc6806dc3bfc2bb31b8f05160e4e7 (diff) | |
Fix GetPathValue function for DLNA service
Diffstat (limited to 'Emby.Dlna')
| -rw-r--r-- | Emby.Dlna/Api/DlnaServerService.cs | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/Emby.Dlna/Api/DlnaServerService.cs b/Emby.Dlna/Api/DlnaServerService.cs index 8bf3797f8..2c9be4bff 100644 --- a/Emby.Dlna/Api/DlnaServerService.cs +++ b/Emby.Dlna/Api/DlnaServerService.cs @@ -6,6 +6,7 @@ using System.Text; using System.Threading.Tasks; using Emby.Dlna.Main; using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Dlna; using MediaBrowser.Controller.Net; using MediaBrowser.Model.Services; @@ -108,12 +109,13 @@ namespace Emby.Dlna.Api public class DlnaServerService : IService, IRequiresRequest { - private readonly IDlnaManager _dlnaManager; - private const string XMLContentType = "text/xml; charset=UTF-8"; + private readonly IDlnaManager _dlnaManager; + private readonly IHttpResultFactory _resultFactory; + private readonly IServerConfigurationManager _configurationManager; + public IRequest Request { get; set; } - private IHttpResultFactory _resultFactory; private IContentDirectory ContentDirectory => DlnaEntryPoint.Current.ContentDirectory; @@ -121,10 +123,14 @@ namespace Emby.Dlna.Api private IMediaReceiverRegistrar MediaReceiverRegistrar => DlnaEntryPoint.Current.MediaReceiverRegistrar; - public DlnaServerService(IDlnaManager dlnaManager, IHttpResultFactory httpResultFactory) + public DlnaServerService( + IDlnaManager dlnaManager, + IHttpResultFactory httpResultFactory, + IServerConfigurationManager configurationManager) { _dlnaManager = dlnaManager; _resultFactory = httpResultFactory; + _configurationManager = configurationManager; } private string GetHeader(string name) @@ -205,14 +211,25 @@ namespace Emby.Dlna.Api var pathInfo = Parse(Request.PathInfo); var first = pathInfo[0]; + string baseUrl = _configurationManager.Configuration.BaseUrl; + // backwards compatibility - // TODO: Work out what this is doing. - if (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase) || - string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase) || - string.Equals(first, "jellyfin", StringComparison.OrdinalIgnoreCase)) + if (baseUrl.Length == 0 + && (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase) + || string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase))) { index++; } + else if (string.Equals(first, baseUrl)) + { + index++; + var second = pathInfo[1]; + if (string.Equals(second, "mediabrowser", StringComparison.OrdinalIgnoreCase) + || string.Equals(second, "emby", StringComparison.OrdinalIgnoreCase)) + { + index++; + } + } return pathInfo[index]; } |
