aboutsummaryrefslogtreecommitdiff
path: root/Emby.Dlna/DlnaManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Dlna/DlnaManager.cs')
-rw-r--r--Emby.Dlna/DlnaManager.cs38
1 files changed, 19 insertions, 19 deletions
diff --git a/Emby.Dlna/DlnaManager.cs b/Emby.Dlna/DlnaManager.cs
index f53d27451..2b76d2702 100644
--- a/Emby.Dlna/DlnaManager.cs
+++ b/Emby.Dlna/DlnaManager.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
@@ -15,9 +16,10 @@ using MediaBrowser.Controller.Drawing;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Reflection;
using MediaBrowser.Model.Serialization;
+using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Primitives;
namespace Emby.Dlna
{
@@ -29,7 +31,7 @@ namespace Emby.Dlna
private readonly ILogger _logger;
private readonly IJsonSerializer _jsonSerializer;
private readonly IServerApplicationHost _appHost;
- private readonly IAssemblyInfo _assemblyInfo;
+ private static readonly Assembly _assembly = typeof(DlnaManager).Assembly;
private readonly Dictionary<string, Tuple<InternalProfileInfo, DeviceProfile>> _profiles = new Dictionary<string, Tuple<InternalProfileInfo, DeviceProfile>>(StringComparer.Ordinal);
@@ -39,8 +41,7 @@ namespace Emby.Dlna
IApplicationPaths appPaths,
ILoggerFactory loggerFactory,
IJsonSerializer jsonSerializer,
- IServerApplicationHost appHost,
- IAssemblyInfo assemblyInfo)
+ IServerApplicationHost appHost)
{
_xmlSerializer = xmlSerializer;
_fileSystem = fileSystem;
@@ -48,7 +49,6 @@ namespace Emby.Dlna
_logger = loggerFactory.CreateLogger("Dlna");
_jsonSerializer = jsonSerializer;
_appHost = appHost;
- _assemblyInfo = assemblyInfo;
}
public async Task InitProfilesAsync()
@@ -205,16 +205,13 @@ namespace Emby.Dlna
}
}
- public DeviceProfile GetProfile(IDictionary<string, string> headers)
+ public DeviceProfile GetProfile(IHeaderDictionary headers)
{
if (headers == null)
{
throw new ArgumentNullException(nameof(headers));
}
- // Convert to case insensitive
- headers = new Dictionary<string, string>(headers, StringComparer.OrdinalIgnoreCase);
-
var profile = GetProfiles().FirstOrDefault(i => i.Identification != null && IsMatch(headers, i.Identification));
if (profile != null)
@@ -230,12 +227,12 @@ namespace Emby.Dlna
return profile;
}
- private bool IsMatch(IDictionary<string, string> headers, DeviceIdentification profileInfo)
+ private bool IsMatch(IHeaderDictionary headers, DeviceIdentification profileInfo)
{
return profileInfo.Headers.Any(i => IsMatch(headers, i));
}
- private bool IsMatch(IDictionary<string, string> headers, HttpHeaderInfo header)
+ private bool IsMatch(IHeaderDictionary headers, HttpHeaderInfo header)
{
// Handle invalid user setup
if (string.IsNullOrEmpty(header.Name))
@@ -243,14 +240,14 @@ namespace Emby.Dlna
return false;
}
- if (headers.TryGetValue(header.Name, out string value))
+ if (headers.TryGetValue(header.Name, out StringValues value))
{
switch (header.Match)
{
case HeaderMatchType.Equals:
return string.Equals(value, header.Value, StringComparison.OrdinalIgnoreCase);
case HeaderMatchType.Substring:
- var isMatch = value.IndexOf(header.Value, StringComparison.OrdinalIgnoreCase) != -1;
+ var isMatch = value.ToString().IndexOf(header.Value, StringComparison.OrdinalIgnoreCase) != -1;
//_logger.LogDebug("IsMatch-Substring value: {0} testValue: {1} isMatch: {2}", value, header.Value, isMatch);
return isMatch;
case HeaderMatchType.Regex:
@@ -368,15 +365,18 @@ namespace Emby.Dlna
var systemProfilesPath = SystemProfilesPath;
- foreach (var name in _assemblyInfo.GetManifestResourceNames(GetType())
- .Where(i => i.StartsWith(namespaceName))
- .ToList())
+ foreach (var name in _assembly.GetManifestResourceNames())
{
+ if (!name.StartsWith(namespaceName))
+ {
+ continue;
+ }
+
var filename = Path.GetFileName(name).Substring(namespaceName.Length);
var path = Path.Combine(systemProfilesPath, filename);
- using (var stream = _assemblyInfo.GetManifestResourceStream(GetType(), name))
+ using (var stream = _assembly.GetManifestResourceStream(name))
{
var fileInfo = _fileSystem.GetFileInfo(path);
@@ -493,7 +493,7 @@ namespace Emby.Dlna
internal string Path { get; set; }
}
- public string GetServerDescriptionXml(IDictionary<string, string> headers, string serverUuId, string serverAddress)
+ public string GetServerDescriptionXml(IHeaderDictionary headers, string serverUuId, string serverAddress)
{
var profile = GetProfile(headers) ??
GetDefaultProfile();
@@ -514,7 +514,7 @@ namespace Emby.Dlna
return new ImageStream
{
Format = format,
- Stream = _assemblyInfo.GetManifestResourceStream(GetType(), resource)
+ Stream = _assembly.GetManifestResourceStream(resource)
};
}
}