mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Merge pull request #2008 from Bond-009/pathvalue
Fix GetPathValue function
This commit is contained in:
commit
c87f459ec2
@ -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,12 +297,25 @@ 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++;
|
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];
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user