aboutsummaryrefslogtreecommitdiff
path: root/Emby.Dlna/Service/BaseControlHandler.cs
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2020-01-22 21:00:07 +0100
committerBond_009 <bond.009@outlook.com>2020-01-22 21:00:07 +0100
commit82112b67880265c34f2dcca1ee7f0acf52a156df (patch)
treefa4ce5ba3ec062b7b58a207060aefcd3450dba82 /Emby.Dlna/Service/BaseControlHandler.cs
parent6eac7f0fa7e753731e3d65c0b6c0323eb730ccd8 (diff)
Improvements to dlna server
* Improve response writer * Add analyzers * Error on warnings in release mode * Disable doc warnings
Diffstat (limited to 'Emby.Dlna/Service/BaseControlHandler.cs')
-rw-r--r--Emby.Dlna/Service/BaseControlHandler.cs17
1 files changed, 7 insertions, 10 deletions
diff --git a/Emby.Dlna/Service/BaseControlHandler.cs b/Emby.Dlna/Service/BaseControlHandler.cs
index 49129f6ff..0125c0528 100644
--- a/Emby.Dlna/Service/BaseControlHandler.cs
+++ b/Emby.Dlna/Service/BaseControlHandler.cs
@@ -1,7 +1,9 @@
+#pragma warning disable CS1591
+#pragma warning disable SA1600
+
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
@@ -66,8 +68,6 @@ namespace Emby.Dlna.Service
Logger.LogDebug("Received control request {0}", requestInfo.LocalName);
- var result = GetResult(requestInfo.LocalName, requestInfo.Headers);
-
var settings = new XmlWriterSettings
{
Encoding = Encoding.UTF8,
@@ -85,12 +85,9 @@ namespace Emby.Dlna.Service
writer.WriteStartElement("SOAP-ENV", "Body", NS_SOAPENV);
writer.WriteStartElement("u", requestInfo.LocalName + "Response", requestInfo.NamespaceURI);
- foreach (var i in result)
- {
- writer.WriteStartElement(i.Key);
- writer.WriteString(i.Value);
- writer.WriteFullEndElement();
- }
+
+ WriteResult(requestInfo.LocalName, requestInfo.Headers, writer);
+
writer.WriteFullEndElement();
writer.WriteFullEndElement();
@@ -219,7 +216,7 @@ namespace Emby.Dlna.Service
public Dictionary<string, string> Headers { get; } = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
- protected abstract IEnumerable<KeyValuePair<string, string>> GetResult(string methodName, IDictionary<string, string> methodParams);
+ protected abstract void WriteResult(string methodName, IDictionary<string, string> methodParams, XmlWriter xmlWriter);
private void LogRequest(ControlRequest request)
{