aboutsummaryrefslogtreecommitdiff
path: root/RSSDP/SsdpHelper.cs
diff options
context:
space:
mode:
Diffstat (limited to 'RSSDP/SsdpHelper.cs')
-rw-r--r--RSSDP/SsdpHelper.cs88
1 files changed, 0 insertions, 88 deletions
diff --git a/RSSDP/SsdpHelper.cs b/RSSDP/SsdpHelper.cs
deleted file mode 100644
index 2eacf3c11..000000000
--- a/RSSDP/SsdpHelper.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using MediaBrowser.Model.Net;
-using MediaBrowser.Model.Text;
-
-namespace RSSDP
-{
- public class SsdpHelper
- {
- private readonly ITextEncoding _encoding;
-
- public SsdpHelper(ITextEncoding encoding)
- {
- _encoding = encoding;
- }
-
- public SsdpMessageInfo ParseSsdpResponse(byte[] data)
- {
- using (var ms = new MemoryStream(data))
- {
- using (var reader = new StreamReader(ms, _encoding.GetASCIIEncoding()))
- {
- var proto = (reader.ReadLine() ?? string.Empty).Trim();
- var method = proto.Split(new[] { ' ' }, 2)[0];
- var headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- for (var line = reader.ReadLine(); line != null; line = reader.ReadLine())
- {
- line = line.Trim();
- if (string.IsNullOrEmpty(line))
- {
- break;
- }
- var parts = line.Split(new[] { ':' }, 2);
-
- if (parts.Length >= 2)
- {
- headers[parts[0]] = parts[1].Trim();
- }
- }
-
- return new SsdpMessageInfo
- {
- Method = method,
- Headers = headers,
- Message = data
- };
- }
- }
- }
-
- public static string BuildMessage(string header, Dictionary<string, string> values)
- {
- var builder = new StringBuilder();
-
- const string argFormat = "{0}: {1}\r\n";
-
- builder.AppendFormat("{0}\r\n", header);
-
- foreach (var pair in values)
- {
- builder.AppendFormat(argFormat, pair.Key, pair.Value);
- }
-
- builder.Append("\r\n");
-
- return builder.ToString();
- }
- }
-
- public class SsdpMessageInfo
- {
- public string Method { get; set; }
-
- public IpEndPointInfo EndPoint { get; set; }
-
- public Dictionary<string, string> Headers { get; set; }
-
- public IpEndPointInfo LocalEndPoint { get; set; }
- public byte[] Message { get; set; }
-
- public SsdpMessageInfo()
- {
- Headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- }
- }
-}