Merge pull request #2008 from Bond-009/pathvalue

Fix GetPathValue function
pull/2019/head
dkanada 5 years ago committed by GitHub
commit c87f459ec2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,6 +6,7 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Emby.Dlna.Main; using Emby.Dlna.Main;
using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna; using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Services; using MediaBrowser.Model.Services;
@ -108,12 +109,13 @@ namespace Emby.Dlna.Api
public class DlnaServerService : IService, IRequiresRequest public class DlnaServerService : IService, IRequiresRequest
{ {
private readonly IDlnaManager _dlnaManager;
private const string XMLContentType = "text/xml; charset=UTF-8"; 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; } public IRequest Request { get; set; }
private IHttpResultFactory _resultFactory;
private IContentDirectory ContentDirectory => DlnaEntryPoint.Current.ContentDirectory; private IContentDirectory ContentDirectory => DlnaEntryPoint.Current.ContentDirectory;
@ -121,10 +123,14 @@ namespace Emby.Dlna.Api
private IMediaReceiverRegistrar MediaReceiverRegistrar => DlnaEntryPoint.Current.MediaReceiverRegistrar; private IMediaReceiverRegistrar MediaReceiverRegistrar => DlnaEntryPoint.Current.MediaReceiverRegistrar;
public DlnaServerService(IDlnaManager dlnaManager, IHttpResultFactory httpResultFactory) public DlnaServerService(
IDlnaManager dlnaManager,
IHttpResultFactory httpResultFactory,
IServerConfigurationManager configurationManager)
{ {
_dlnaManager = dlnaManager; _dlnaManager = dlnaManager;
_resultFactory = httpResultFactory; _resultFactory = httpResultFactory;
_configurationManager = configurationManager;
} }
private string GetHeader(string name) private string GetHeader(string name)
@ -205,14 +211,25 @@ namespace Emby.Dlna.Api
var pathInfo = Parse(Request.PathInfo); var pathInfo = Parse(Request.PathInfo);
var first = pathInfo[0]; var first = pathInfo[0];
string baseUrl = _configurationManager.Configuration.BaseUrl;
// backwards compatibility // backwards compatibility
// TODO: Work out what this is doing. if (baseUrl.Length == 0
if (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase) || && (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase)
string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase) || || string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase)))
string.Equals(first, "jellyfin", StringComparison.OrdinalIgnoreCase))
{ {
index++; 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]; return pathInfo[index];
} }

@ -7,7 +7,6 @@ using System.Net.Sockets;
using System.Reflection; using System.Reflection;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Emby.Server.Implementations.Configuration;
using Emby.Server.Implementations.Net; using Emby.Server.Implementations.Net;
using Emby.Server.Implementations.Services; using Emby.Server.Implementations.Services;
using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Extensions;
@ -16,7 +15,6 @@ using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Events; using MediaBrowser.Model.Events;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Services; using MediaBrowser.Model.Services;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;

@ -40,14 +40,13 @@ namespace MediaBrowser.Api
internal IHttpResultFactory ResultFactory { get; private set; } internal IHttpResultFactory ResultFactory { get; private set; }
/// <summary> /// <summary>
/// The application paths /// Gets the configuration manager.
/// </summary> /// </summary>
private readonly IServerConfigurationManager _config; internal IServerConfigurationManager ConfigurationManager { get; }
private readonly ISessionManager _sessionManager; private readonly ISessionManager _sessionManager;
private readonly IFileSystem _fileSystem; private readonly IFileSystem _fileSystem;
private readonly IMediaSourceManager _mediaSourceManager; private readonly IMediaSourceManager _mediaSourceManager;
public readonly IProcessFactory ProcessFactory;
/// <summary> /// <summary>
/// The active transcoding jobs /// The active transcoding jobs
@ -73,15 +72,13 @@ namespace MediaBrowser.Api
IServerConfigurationManager config, IServerConfigurationManager config,
IFileSystem fileSystem, IFileSystem fileSystem,
IMediaSourceManager mediaSourceManager, IMediaSourceManager mediaSourceManager,
IProcessFactory processFactory,
IHttpResultFactory resultFactory) IHttpResultFactory resultFactory)
{ {
Logger = logger; Logger = logger;
_sessionManager = sessionManager; _sessionManager = sessionManager;
_config = config; ConfigurationManager = config;
_fileSystem = fileSystem; _fileSystem = fileSystem;
_mediaSourceManager = mediaSourceManager; _mediaSourceManager = mediaSourceManager;
ProcessFactory = processFactory;
ResultFactory = resultFactory; ResultFactory = resultFactory;
_sessionManager.PlaybackProgress += _sessionManager_PlaybackProgress; _sessionManager.PlaybackProgress += _sessionManager_PlaybackProgress;
@ -162,7 +159,7 @@ namespace MediaBrowser.Api
public EncodingOptions GetEncodingOptions() public EncodingOptions GetEncodingOptions()
{ {
return ConfigurationManagerExtensions.GetConfiguration<EncodingOptions>(_config, "encoding"); return ConfigurationManagerExtensions.GetConfiguration<EncodingOptions>(ConfigurationManager, "encoding");
} }
/// <summary> /// <summary>
@ -170,7 +167,7 @@ namespace MediaBrowser.Api
/// </summary> /// </summary>
private void DeleteEncodedMediaCache() private void DeleteEncodedMediaCache()
{ {
var path = _config.ApplicationPaths.GetTranscodingTempPath(); var path = ConfigurationManager.ApplicationPaths.GetTranscodingTempPath();
if (!Directory.Exists(path)) if (!Directory.Exists(path))
{ {

@ -1,5 +1,4 @@
using System; using System;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
@ -298,11 +297,24 @@ namespace MediaBrowser.Api
var pathInfo = Parse(Request.PathInfo); var pathInfo = Parse(Request.PathInfo);
var first = pathInfo[0]; var first = pathInfo[0];
string baseUrl = ApiEntryPoint.Instance.ConfigurationManager.Configuration.BaseUrl;
// backwards compatibility // backwards compatibility
if (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase) || if (baseUrl.Length == 0
string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase)) && (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase)
|| string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase)))
{
index++;
}
else if (string.Equals(first, baseUrl))
{ {
index++; index++;
var second = pathInfo[1];
if (string.Equals(second, "mediabrowser", StringComparison.OrdinalIgnoreCase)
|| string.Equals(second, "emby", StringComparison.OrdinalIgnoreCase))
{
index++;
}
} }
return pathInfo[index]; return pathInfo[index];

Loading…
Cancel
Save