diff options
| author | Bond_009 <bond.009@outlook.com> | 2020-01-22 21:00:07 +0100 |
|---|---|---|
| committer | Bond_009 <bond.009@outlook.com> | 2020-01-22 21:00:07 +0100 |
| commit | 82112b67880265c34f2dcca1ee7f0acf52a156df (patch) | |
| tree | fa4ce5ba3ec062b7b58a207060aefcd3450dba82 /Emby.Dlna/Service/BaseControlHandler.cs | |
| parent | 6eac7f0fa7e753731e3d65c0b6c0323eb730ccd8 (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.cs | 17 |
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) { |
