Prechádzať zdrojové kódy

Visual Studio Reformat: SocketHttpListener

Erwin de Haan 6 rokov pred
rodič
commit
8fd0bc63b9
53 zmenil súbory, kde vykonal 903 pridanie a 999 odobranie
  1. 12 12
      SocketHttpListener/ByteOrder.cs
  2. 78 71
      SocketHttpListener/CloseEventArgs.cs
  3. 89 89
      SocketHttpListener/CloseStatusCode.cs
  4. 18 18
      SocketHttpListener/CompressionMethod.cs
  5. 35 33
      SocketHttpListener/ErrorEventArgs.cs
  6. 2 2
      SocketHttpListener/Ext.cs
  7. 5 5
      SocketHttpListener/Fin.cs
  8. 0 4
      SocketHttpListener/HttpBase.cs
  9. 3 5
      SocketHttpListener/HttpResponse.cs
  10. 5 5
      SocketHttpListener/Mask.cs
  11. 82 76
      SocketHttpListener/MessageEventArgs.cs
  12. 1 5
      SocketHttpListener/Net/AuthenticationTypes.cs
  13. 1 6
      SocketHttpListener/Net/BoundaryType.cs
  14. 0 1
      SocketHttpListener/Net/ChunkStream.cs
  15. 0 2
      SocketHttpListener/Net/ChunkedInputStream.cs
  16. 0 1
      SocketHttpListener/Net/CookieHelper.cs
  17. 1 6
      SocketHttpListener/Net/EntitySendFormat.cs
  18. 3 5
      SocketHttpListener/Net/HttpConnection.cs
  19. 2 8
      SocketHttpListener/Net/HttpEndPointListener.cs
  20. 0 5
      SocketHttpListener/Net/HttpEndPointManager.cs
  21. 1 5
      SocketHttpListener/Net/HttpKnownHeaderNames.cs
  22. 1 3
      SocketHttpListener/Net/HttpListener.cs
  23. 2 2
      SocketHttpListener/Net/HttpListenerContext.Managed.cs
  24. 1 5
      SocketHttpListener/Net/HttpListenerContext.cs
  25. 1 6
      SocketHttpListener/Net/HttpListenerRequest.Managed.cs
  26. 2 8
      SocketHttpListener/Net/HttpListenerRequest.cs
  27. 1 1
      SocketHttpListener/Net/HttpListenerRequestUriBuilder.cs
  28. 2 3
      SocketHttpListener/Net/HttpListenerResponse.Managed.cs
  29. 0 7
      SocketHttpListener/Net/HttpListenerResponse.cs
  30. 0 4
      SocketHttpListener/Net/HttpRequestStream.Managed.cs
  31. 0 2
      SocketHttpListener/Net/HttpRequestStream.cs
  32. 1 3
      SocketHttpListener/Net/HttpResponseStream.Managed.cs
  33. 0 2
      SocketHttpListener/Net/HttpResponseStream.cs
  34. 317 317
      SocketHttpListener/Net/HttpStatusCode.cs
  35. 1 6
      SocketHttpListener/Net/HttpStatusDescription.cs
  36. 0 1
      SocketHttpListener/Net/ListenerPrefix.cs
  37. 1 5
      SocketHttpListener/Net/UriScheme.cs
  38. 0 5
      SocketHttpListener/Net/WebHeaderCollection.cs
  39. 1 4
      SocketHttpListener/Net/WebHeaderEncoding.cs
  40. 0 6
      SocketHttpListener/Net/WebSockets/HttpListenerWebSocketContext.cs
  41. 0 2
      SocketHttpListener/Net/WebSockets/HttpWebSocket.Managed.cs
  42. 1 2
      SocketHttpListener/Net/WebSockets/HttpWebSocket.cs
  43. 1 5
      SocketHttpListener/Net/WebSockets/WebSocketCloseStatus.cs
  44. 0 2
      SocketHttpListener/Net/WebSockets/WebSocketContext.cs
  45. 1 3
      SocketHttpListener/Net/WebSockets/WebSocketValidate.cs
  46. 38 38
      SocketHttpListener/Opcode.cs
  47. 133 123
      SocketHttpListener/PayloadData.cs
  48. 1 4
      SocketHttpListener/Primitives/ITextEncoding.cs
  49. 5 5
      SocketHttpListener/Rsv.cs
  50. 0 4
      SocketHttpListener/SocketStream.cs
  51. 1 4
      SocketHttpListener/WebSocket.cs
  52. 53 52
      SocketHttpListener/WebSocketException.cs
  53. 0 1
      SocketHttpListener/WebSocketFrame.cs

+ 12 - 12
SocketHttpListener/ByteOrder.cs

@@ -1,17 +1,17 @@
 namespace SocketHttpListener
 {
-  /// <summary>
-  /// Contains the values that indicate whether the byte order is a Little-endian or Big-endian.
-  /// </summary>
-  public enum ByteOrder : byte
-  {
     /// <summary>
-    /// Indicates a Little-endian.
+    /// Contains the values that indicate whether the byte order is a Little-endian or Big-endian.
     /// </summary>
-    Little,
-    /// <summary>
-    /// Indicates a Big-endian.
-    /// </summary>
-    Big
-  }
+    public enum ByteOrder : byte
+    {
+        /// <summary>
+        /// Indicates a Little-endian.
+        /// </summary>
+        Little,
+        /// <summary>
+        /// Indicates a Big-endian.
+        /// </summary>
+        Big
+    }
 }

+ 78 - 71
SocketHttpListener/CloseEventArgs.cs

@@ -3,88 +3,95 @@ using System.Text;
 
 namespace SocketHttpListener
 {
-  /// <summary>
-  /// Contains the event data associated with a <see cref="WebSocket.OnClose"/> event.
-  /// </summary>
-  /// <remarks>
-  /// A <see cref="WebSocket.OnClose"/> event occurs when the WebSocket connection has been closed.
-  /// If you would like to get the reason for the close, you should access the <see cref="Code"/> or
-  /// <see cref="Reason"/> property.
-  /// </remarks>
-  public class CloseEventArgs : EventArgs
-  {
-    #region Private Fields
+    /// <summary>
+    /// Contains the event data associated with a <see cref="WebSocket.OnClose"/> event.
+    /// </summary>
+    /// <remarks>
+    /// A <see cref="WebSocket.OnClose"/> event occurs when the WebSocket connection has been closed.
+    /// If you would like to get the reason for the close, you should access the <see cref="Code"/> or
+    /// <see cref="Reason"/> property.
+    /// </remarks>
+    public class CloseEventArgs : EventArgs
+    {
+        #region Private Fields
 
-    private bool   _clean;
-    private ushort _code;
-    private string _reason;
+        private bool _clean;
+        private ushort _code;
+        private string _reason;
 
-    #endregion
+        #endregion
 
-    #region Internal Constructors
+        #region Internal Constructors
 
-    internal CloseEventArgs (PayloadData payload)
-    {
-      var data = payload.ApplicationData;
-      var len = data.Length;
-      _code = len > 1
-              ? data.SubArray (0, 2).ToUInt16 (ByteOrder.Big)
-              : (ushort) CloseStatusCode.NoStatusCode;
+        internal CloseEventArgs(PayloadData payload)
+        {
+            var data = payload.ApplicationData;
+            var len = data.Length;
+            _code = len > 1
+                    ? data.SubArray(0, 2).ToUInt16(ByteOrder.Big)
+                    : (ushort)CloseStatusCode.NoStatusCode;
 
-      _reason = len > 2
-                ? GetUtf8String(data.SubArray (2, len - 2))
-                : string.Empty;
-    }
+            _reason = len > 2
+                      ? GetUtf8String(data.SubArray(2, len - 2))
+                      : string.Empty;
+        }
 
-      private static string GetUtf8String(byte[] bytes)
-      {
-          return Encoding.UTF8.GetString(bytes, 0, bytes.Length);
-      }
+        private static string GetUtf8String(byte[] bytes)
+        {
+            return Encoding.UTF8.GetString(bytes, 0, bytes.Length);
+        }
 
-    #endregion
+        #endregion
 
-    #region Public Properties
+        #region Public Properties
 
-    /// <summary>
-    /// Gets the status code for the close.
-    /// </summary>
-    /// <value>
-    /// A <see cref="ushort"/> that represents the status code for the close if any.
-    /// </value>
-    public ushort Code {
-      get {
-        return _code;
-      }
-    }
+        /// <summary>
+        /// Gets the status code for the close.
+        /// </summary>
+        /// <value>
+        /// A <see cref="ushort"/> that represents the status code for the close if any.
+        /// </value>
+        public ushort Code
+        {
+            get
+            {
+                return _code;
+            }
+        }
 
-    /// <summary>
-    /// Gets the reason for the close.
-    /// </summary>
-    /// <value>
-    /// A <see cref="string"/> that represents the reason for the close if any.
-    /// </value>
-    public string Reason {
-      get {
-        return _reason;
-      }
-    }
+        /// <summary>
+        /// Gets the reason for the close.
+        /// </summary>
+        /// <value>
+        /// A <see cref="string"/> that represents the reason for the close if any.
+        /// </value>
+        public string Reason
+        {
+            get
+            {
+                return _reason;
+            }
+        }
 
-    /// <summary>
-    /// Gets a value indicating whether the WebSocket connection has been closed cleanly.
-    /// </summary>
-    /// <value>
-    /// <c>true</c> if the WebSocket connection has been closed cleanly; otherwise, <c>false</c>.
-    /// </value>
-    public bool WasClean {
-      get {
-        return _clean;
-      }
+        /// <summary>
+        /// Gets a value indicating whether the WebSocket connection has been closed cleanly.
+        /// </summary>
+        /// <value>
+        /// <c>true</c> if the WebSocket connection has been closed cleanly; otherwise, <c>false</c>.
+        /// </value>
+        public bool WasClean
+        {
+            get
+            {
+                return _clean;
+            }
 
-      internal set {
-        _clean = value;
-      }
-    }
+            internal set
+            {
+                _clean = value;
+            }
+        }
 
-    #endregion
-  }
+        #endregion
+    }
 }

+ 89 - 89
SocketHttpListener/CloseStatusCode.cs

@@ -1,94 +1,94 @@
 namespace SocketHttpListener
 {
-  /// <summary>
-  /// Contains the values of the status code for the WebSocket connection close.
-  /// </summary>
-  /// <remarks>
-  ///   <para>
-  ///   The values of the status code are defined in
-  ///   <see href="http://tools.ietf.org/html/rfc6455#section-7.4">Section 7.4</see>
-  ///   of RFC 6455.
-  ///   </para>
-  ///   <para>
-  ///   "Reserved value" must not be set as a status code in a close control frame
-  ///   by an endpoint. It's designated for use in applications expecting a status
-  ///   code to indicate that the connection was closed due to the system grounds.
-  ///   </para>
-  /// </remarks>
-  public enum CloseStatusCode : ushort
-  {
     /// <summary>
-    /// Equivalent to close status 1000.
-    /// Indicates a normal close.
+    /// Contains the values of the status code for the WebSocket connection close.
     /// </summary>
-    Normal = 1000,
-    /// <summary>
-    /// Equivalent to close status 1001.
-    /// Indicates that an endpoint is going away.
-    /// </summary>
-    Away = 1001,
-    /// <summary>
-    /// Equivalent to close status 1002.
-    /// Indicates that an endpoint is terminating the connection due to a protocol error.
-    /// </summary>
-    ProtocolError = 1002,
-    /// <summary>
-    /// Equivalent to close status 1003.
-    /// Indicates that an endpoint is terminating the connection because it has received
-    /// an unacceptable type message.
-    /// </summary>
-    IncorrectData = 1003,
-    /// <summary>
-    /// Equivalent to close status 1004.
-    /// Still undefined. Reserved value.
-    /// </summary>
-    Undefined = 1004,
-    /// <summary>
-    /// Equivalent to close status 1005.
-    /// Indicates that no status code was actually present. Reserved value.
-    /// </summary>
-    NoStatusCode = 1005,
-    /// <summary>
-    /// Equivalent to close status 1006.
-    /// Indicates that the connection was closed abnormally. Reserved value.
-    /// </summary>
-    Abnormal = 1006,
-    /// <summary>
-    /// Equivalent to close status 1007.
-    /// Indicates that an endpoint is terminating the connection because it has received
-    /// a message that contains a data that isn't consistent with the type of the message.
-    /// </summary>
-    InconsistentData = 1007,
-    /// <summary>
-    /// Equivalent to close status 1008.
-    /// Indicates that an endpoint is terminating the connection because it has received
-    /// a message that violates its policy.
-    /// </summary>
-    PolicyViolation = 1008,
-    /// <summary>
-    /// Equivalent to close status 1009.
-    /// Indicates that an endpoint is terminating the connection because it has received
-    /// a message that is too big to process.
-    /// </summary>
-    TooBig = 1009,
-    /// <summary>
-    /// Equivalent to close status 1010.
-    /// Indicates that the client is terminating the connection because it has expected
-    /// the server to negotiate one or more extension, but the server didn't return them
-    /// in the handshake response.
-    /// </summary>
-    IgnoreExtension = 1010,
-    /// <summary>
-    /// Equivalent to close status 1011.
-    /// Indicates that the server is terminating the connection because it has encountered
-    /// an unexpected condition that prevented it from fulfilling the request.
-    /// </summary>
-    ServerError = 1011,
-    /// <summary>
-    /// Equivalent to close status 1015.
-    /// Indicates that the connection was closed due to a failure to perform a TLS handshake.
-    /// Reserved value.
-    /// </summary>
-    TlsHandshakeFailure = 1015
-  }
+    /// <remarks>
+    ///   <para>
+    ///   The values of the status code are defined in
+    ///   <see href="http://tools.ietf.org/html/rfc6455#section-7.4">Section 7.4</see>
+    ///   of RFC 6455.
+    ///   </para>
+    ///   <para>
+    ///   "Reserved value" must not be set as a status code in a close control frame
+    ///   by an endpoint. It's designated for use in applications expecting a status
+    ///   code to indicate that the connection was closed due to the system grounds.
+    ///   </para>
+    /// </remarks>
+    public enum CloseStatusCode : ushort
+    {
+        /// <summary>
+        /// Equivalent to close status 1000.
+        /// Indicates a normal close.
+        /// </summary>
+        Normal = 1000,
+        /// <summary>
+        /// Equivalent to close status 1001.
+        /// Indicates that an endpoint is going away.
+        /// </summary>
+        Away = 1001,
+        /// <summary>
+        /// Equivalent to close status 1002.
+        /// Indicates that an endpoint is terminating the connection due to a protocol error.
+        /// </summary>
+        ProtocolError = 1002,
+        /// <summary>
+        /// Equivalent to close status 1003.
+        /// Indicates that an endpoint is terminating the connection because it has received
+        /// an unacceptable type message.
+        /// </summary>
+        IncorrectData = 1003,
+        /// <summary>
+        /// Equivalent to close status 1004.
+        /// Still undefined. Reserved value.
+        /// </summary>
+        Undefined = 1004,
+        /// <summary>
+        /// Equivalent to close status 1005.
+        /// Indicates that no status code was actually present. Reserved value.
+        /// </summary>
+        NoStatusCode = 1005,
+        /// <summary>
+        /// Equivalent to close status 1006.
+        /// Indicates that the connection was closed abnormally. Reserved value.
+        /// </summary>
+        Abnormal = 1006,
+        /// <summary>
+        /// Equivalent to close status 1007.
+        /// Indicates that an endpoint is terminating the connection because it has received
+        /// a message that contains a data that isn't consistent with the type of the message.
+        /// </summary>
+        InconsistentData = 1007,
+        /// <summary>
+        /// Equivalent to close status 1008.
+        /// Indicates that an endpoint is terminating the connection because it has received
+        /// a message that violates its policy.
+        /// </summary>
+        PolicyViolation = 1008,
+        /// <summary>
+        /// Equivalent to close status 1009.
+        /// Indicates that an endpoint is terminating the connection because it has received
+        /// a message that is too big to process.
+        /// </summary>
+        TooBig = 1009,
+        /// <summary>
+        /// Equivalent to close status 1010.
+        /// Indicates that the client is terminating the connection because it has expected
+        /// the server to negotiate one or more extension, but the server didn't return them
+        /// in the handshake response.
+        /// </summary>
+        IgnoreExtension = 1010,
+        /// <summary>
+        /// Equivalent to close status 1011.
+        /// Indicates that the server is terminating the connection because it has encountered
+        /// an unexpected condition that prevented it from fulfilling the request.
+        /// </summary>
+        ServerError = 1011,
+        /// <summary>
+        /// Equivalent to close status 1015.
+        /// Indicates that the connection was closed due to a failure to perform a TLS handshake.
+        /// Reserved value.
+        /// </summary>
+        TlsHandshakeFailure = 1015
+    }
 }

+ 18 - 18
SocketHttpListener/CompressionMethod.cs

@@ -1,23 +1,23 @@
 namespace SocketHttpListener
 {
-  /// <summary>
-  /// Contains the values of the compression method used to compress the message on the WebSocket
-  /// connection.
-  /// </summary>
-  /// <remarks>
-  /// The values of the compression method are defined in
-  /// <see href="http://tools.ietf.org/html/draft-ietf-hybi-permessage-compression-09">Compression
-  /// Extensions for WebSocket</see>.
-  /// </remarks>
-  public enum CompressionMethod : byte
-  {
     /// <summary>
-    /// Indicates non compression.
+    /// Contains the values of the compression method used to compress the message on the WebSocket
+    /// connection.
     /// </summary>
-    None,
-    /// <summary>
-    /// Indicates using DEFLATE.
-    /// </summary>
-    Deflate
-  }
+    /// <remarks>
+    /// The values of the compression method are defined in
+    /// <see href="http://tools.ietf.org/html/draft-ietf-hybi-permessage-compression-09">Compression
+    /// Extensions for WebSocket</see>.
+    /// </remarks>
+    public enum CompressionMethod : byte
+    {
+        /// <summary>
+        /// Indicates non compression.
+        /// </summary>
+        None,
+        /// <summary>
+        /// Indicates using DEFLATE.
+        /// </summary>
+        Deflate
+    }
 }

+ 35 - 33
SocketHttpListener/ErrorEventArgs.cs

@@ -2,45 +2,47 @@ using System;
 
 namespace SocketHttpListener
 {
-  /// <summary>
-  /// Contains the event data associated with a <see cref="WebSocket.OnError"/> event.
-  /// </summary>
-  /// <remarks>
-  /// A <see cref="WebSocket.OnError"/> event occurs when the <see cref="WebSocket"/> gets an error.
-  /// If you would like to get the error message, you should access the <see cref="Message"/>
-  /// property.
-  /// </remarks>
-  public class ErrorEventArgs : EventArgs
-  {
-    #region Private Fields
+    /// <summary>
+    /// Contains the event data associated with a <see cref="WebSocket.OnError"/> event.
+    /// </summary>
+    /// <remarks>
+    /// A <see cref="WebSocket.OnError"/> event occurs when the <see cref="WebSocket"/> gets an error.
+    /// If you would like to get the error message, you should access the <see cref="Message"/>
+    /// property.
+    /// </remarks>
+    public class ErrorEventArgs : EventArgs
+    {
+        #region Private Fields
 
-    private string _message;
+        private string _message;
 
-    #endregion
+        #endregion
 
-    #region Internal Constructors
+        #region Internal Constructors
 
-    internal ErrorEventArgs (string message)
-    {
-      _message = message;
-    }
+        internal ErrorEventArgs(string message)
+        {
+            _message = message;
+        }
 
-    #endregion
+        #endregion
 
-    #region Public Properties
+        #region Public Properties
 
-    /// <summary>
-    /// Gets the error message.
-    /// </summary>
-    /// <value>
-    /// A <see cref="string"/> that represents the error message.
-    /// </value>
-    public string Message {
-      get {
-        return _message;
-      }
-    }
+        /// <summary>
+        /// Gets the error message.
+        /// </summary>
+        /// <value>
+        /// A <see cref="string"/> that represents the error message.
+        /// </value>
+        public string Message
+        {
+            get
+            {
+                return _message;
+            }
+        }
 
-    #endregion
-  }
+        #endregion
+    }
 }

+ 2 - 2
SocketHttpListener/Ext.cs

@@ -1,6 +1,5 @@
 using System;
 using System.Collections.Generic;
-using System.Collections.Specialized;
 using System.IO;
 using System.IO.Compression;
 using System.Net;
@@ -441,7 +440,8 @@ namespace SocketHttpListener
                         continue;
                     }
                 }
-                else {
+                else
+                {
                 }
 
                 buffer.Append(c);

+ 5 - 5
SocketHttpListener/Fin.cs

@@ -1,8 +1,8 @@
 namespace SocketHttpListener
 {
-  internal enum Fin : byte
-  {
-    More = 0x0,
-    Final = 0x1
-  }
+    internal enum Fin : byte
+    {
+        More = 0x0,
+        Final = 0x1
+    }
 }

+ 0 - 4
SocketHttpListener/HttpBase.cs

@@ -1,9 +1,5 @@
 using System;
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.IO;
 using System.Text;
-using System.Threading;
 using MediaBrowser.Model.Services;
 
 namespace SocketHttpListener

+ 3 - 5
SocketHttpListener/HttpResponse.cs

@@ -1,13 +1,11 @@
 using System;
-using System.Collections.Specialized;
-using System.IO;
+using System.Linq;
 using System.Net;
 using System.Text;
-using HttpStatusCode = SocketHttpListener.Net.HttpStatusCode;
-using HttpVersion = SocketHttpListener.Net.HttpVersion;
-using System.Linq;
 using MediaBrowser.Model.Services;
 using SocketHttpListener.Net;
+using HttpStatusCode = SocketHttpListener.Net.HttpStatusCode;
+using HttpVersion = SocketHttpListener.Net.HttpVersion;
 
 namespace SocketHttpListener
 {

+ 5 - 5
SocketHttpListener/Mask.cs

@@ -1,8 +1,8 @@
 namespace SocketHttpListener
 {
-  internal enum Mask : byte
-  {
-    Unmask = 0x0,
-    Mask = 0x1
-  }
+    internal enum Mask : byte
+    {
+        Unmask = 0x0,
+        Mask = 0x1
+    }
 }

+ 82 - 76
SocketHttpListener/MessageEventArgs.cs

@@ -3,94 +3,100 @@ using System.Text;
 
 namespace SocketHttpListener
 {
-  /// <summary>
-  /// Contains the event data associated with a <see cref="WebSocket.OnMessage"/> event.
-  /// </summary>
-  /// <remarks>
-  /// A <see cref="WebSocket.OnMessage"/> event occurs when the <see cref="WebSocket"/> receives
-  /// a text or binary data frame.
-  /// If you want to get the received data, you access the <see cref="MessageEventArgs.Data"/> or
-  /// <see cref="MessageEventArgs.RawData"/> property.
-  /// </remarks>
-  public class MessageEventArgs : EventArgs
-  {
-    #region Private Fields
+    /// <summary>
+    /// Contains the event data associated with a <see cref="WebSocket.OnMessage"/> event.
+    /// </summary>
+    /// <remarks>
+    /// A <see cref="WebSocket.OnMessage"/> event occurs when the <see cref="WebSocket"/> receives
+    /// a text or binary data frame.
+    /// If you want to get the received data, you access the <see cref="MessageEventArgs.Data"/> or
+    /// <see cref="MessageEventArgs.RawData"/> property.
+    /// </remarks>
+    public class MessageEventArgs : EventArgs
+    {
+        #region Private Fields
 
-    private string _data;
-    private Opcode _opcode;
-    private byte[] _rawData;
+        private string _data;
+        private Opcode _opcode;
+        private byte[] _rawData;
 
-    #endregion
+        #endregion
 
-    #region Internal Constructors
+        #region Internal Constructors
 
-    internal MessageEventArgs (Opcode opcode, byte[] data)
-    {
-      _opcode = opcode;
-      _rawData = data;
-      _data = convertToString (opcode, data);
-    }
+        internal MessageEventArgs(Opcode opcode, byte[] data)
+        {
+            _opcode = opcode;
+            _rawData = data;
+            _data = convertToString(opcode, data);
+        }
 
-    internal MessageEventArgs (Opcode opcode, PayloadData payload)
-    {
-      _opcode = opcode;
-      _rawData = payload.ApplicationData;
-      _data = convertToString (opcode, _rawData);
-    }
+        internal MessageEventArgs(Opcode opcode, PayloadData payload)
+        {
+            _opcode = opcode;
+            _rawData = payload.ApplicationData;
+            _data = convertToString(opcode, _rawData);
+        }
 
-    #endregion
+        #endregion
 
-    #region Public Properties
+        #region Public Properties
 
-    /// <summary>
-    /// Gets the received data as a <see cref="string"/>.
-    /// </summary>
-    /// <value>
-    /// A <see cref="string"/> that contains the received data.
-    /// </value>
-    public string Data {
-      get {
-        return _data;
-      }
-    }
+        /// <summary>
+        /// Gets the received data as a <see cref="string"/>.
+        /// </summary>
+        /// <value>
+        /// A <see cref="string"/> that contains the received data.
+        /// </value>
+        public string Data
+        {
+            get
+            {
+                return _data;
+            }
+        }
 
-    /// <summary>
-    /// Gets the received data as an array of <see cref="byte"/>.
-    /// </summary>
-    /// <value>
-    /// An array of <see cref="byte"/> that contains the received data.
-    /// </value>
-    public byte [] RawData {
-      get {
-        return _rawData;
-      }
-    }
+        /// <summary>
+        /// Gets the received data as an array of <see cref="byte"/>.
+        /// </summary>
+        /// <value>
+        /// An array of <see cref="byte"/> that contains the received data.
+        /// </value>
+        public byte[] RawData
+        {
+            get
+            {
+                return _rawData;
+            }
+        }
 
-    /// <summary>
-    /// Gets the type of the received data.
-    /// </summary>
-    /// <value>
-    /// One of the <see cref="Opcode"/> values, indicates the type of the received data.
-    /// </value>
-    public Opcode Type {
-      get {
-        return _opcode;
-      }
-    }
+        /// <summary>
+        /// Gets the type of the received data.
+        /// </summary>
+        /// <value>
+        /// One of the <see cref="Opcode"/> values, indicates the type of the received data.
+        /// </value>
+        public Opcode Type
+        {
+            get
+            {
+                return _opcode;
+            }
+        }
 
-    #endregion
+        #endregion
 
-    #region Private Methods
+        #region Private Methods
 
-    private static string convertToString (Opcode opcode, byte [] data)
-    {
-      return data.Length == 0
-             ? string.Empty
-             : opcode == Opcode.Text
-               ? Encoding.UTF8.GetString (data, 0, data.Length)
-               : opcode.ToString ();
-    }
+        private static string convertToString(Opcode opcode, byte[] data)
+        {
+            return data.Length == 0
+                   ? string.Empty
+                   : opcode == Opcode.Text
+                     ? Encoding.UTF8.GetString(data, 0, data.Length)
+                     : opcode.ToString();
+        }
 
-    #endregion
-  }
+        #endregion
+    }
 }

+ 1 - 5
SocketHttpListener/Net/AuthenticationTypes.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace SocketHttpListener.Net
+namespace SocketHttpListener.Net
 {
     internal class AuthenticationTypes
     {

+ 1 - 6
SocketHttpListener/Net/BoundaryType.cs

@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace SocketHttpListener.Net
+namespace SocketHttpListener.Net
 {
     internal enum BoundaryType
     {

+ 0 - 1
SocketHttpListener/Net/ChunkStream.cs

@@ -1,5 +1,4 @@
 using System;
-using System.Collections;
 using System.Collections.Generic;
 using System.Globalization;
 using System.IO;

+ 0 - 2
SocketHttpListener/Net/ChunkedInputStream.cs

@@ -1,8 +1,6 @@
 using System;
 using System.IO;
 using System.Net;
-using System.Runtime.InteropServices;
-using SocketHttpListener.Primitives;
 
 namespace SocketHttpListener.Net
 {

+ 0 - 1
SocketHttpListener/Net/CookieHelper.cs

@@ -3,7 +3,6 @@ using System.Collections.Generic;
 using System.Globalization;
 using System.Net;
 using System.Text;
-using System.Threading.Tasks;
 
 namespace SocketHttpListener.Net
 {

+ 1 - 6
SocketHttpListener/Net/EntitySendFormat.cs

@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace SocketHttpListener.Net
+namespace SocketHttpListener.Net
 {
     internal enum EntitySendFormat
     {

+ 3 - 5
SocketHttpListener/Net/HttpConnection.cs

@@ -3,19 +3,17 @@ using System.IO;
 using System.Net;
 using System.Net.Security;
 using System.Net.Sockets;
+using System.Security.Authentication;
 using System.Security.Cryptography.X509Certificates;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
 using MediaBrowser.Model.Cryptography;
 using MediaBrowser.Model.IO;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Net;
 using MediaBrowser.Model.System;
 using MediaBrowser.Model.Text;
+using Microsoft.Extensions.Logging;
 using SocketHttpListener.Primitives;
-using System.Security.Authentication;
-
-using System.Threading;
 namespace SocketHttpListener.Net
 {
     sealed class HttpConnection

+ 2 - 8
SocketHttpListener/Net/HttpEndPointListener.cs

@@ -1,21 +1,15 @@
 using System;
-using System.Collections;
 using System.Collections.Generic;
-using System.IO;
 using System.Net;
 using System.Net.Sockets;
 using System.Security.Cryptography.X509Certificates;
 using System.Threading;
 using MediaBrowser.Model.Cryptography;
 using MediaBrowser.Model.IO;
-using Microsoft.Extensions.Logging;
 using MediaBrowser.Model.Net;
 using MediaBrowser.Model.System;
 using MediaBrowser.Model.Text;
-using SocketHttpListener.Primitives;
-using ProtocolType = MediaBrowser.Model.Net.ProtocolType;
-using SocketType = MediaBrowser.Model.Net.SocketType;
-using System.Threading.Tasks;
+using Microsoft.Extensions.Logging;
 
 namespace SocketHttpListener.Net
 {
@@ -209,7 +203,7 @@ namespace SocketHttpListener.Net
                 return;
             }
 
-            if(accepted == null)
+            if (accepted == null)
             {
                 return;
             }

+ 0 - 5
SocketHttpListener/Net/HttpEndPointManager.cs

@@ -3,12 +3,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Net;
 using System.Net.Sockets;
-using System.Reflection;
-using System.Threading.Tasks;
-using MediaBrowser.Model.IO;
 using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Net;
-using SocketHttpListener.Primitives;
 
 namespace SocketHttpListener.Net
 {

+ 1 - 5
SocketHttpListener/Net/HttpKnownHeaderNames.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace SocketHttpListener.Net
+namespace SocketHttpListener.Net
 {
     internal static partial class HttpKnownHeaderNames
     {

+ 1 - 3
SocketHttpListener/Net/HttpListener.cs

@@ -1,17 +1,15 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
-using System.IO;
 using System.Net;
 using System.Security.Cryptography.X509Certificates;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Model.Cryptography;
 using MediaBrowser.Model.IO;
-using Microsoft.Extensions.Logging;
 using MediaBrowser.Model.Net;
 using MediaBrowser.Model.System;
 using MediaBrowser.Model.Text;
-using SocketHttpListener.Primitives;
+using Microsoft.Extensions.Logging;
 
 namespace SocketHttpListener.Net
 {

+ 2 - 2
SocketHttpListener/Net/HttpListenerContext.Managed.cs

@@ -1,8 +1,8 @@
-using System.ComponentModel;
+using System;
+using System.ComponentModel;
 using System.Security.Principal;
 using System.Text;
 using System.Threading.Tasks;
-using System;
 using MediaBrowser.Model.Text;
 using SocketHttpListener.Net.WebSockets;
 

+ 1 - 5
SocketHttpListener/Net/HttpListenerContext.cs

@@ -1,12 +1,8 @@
 using System;
 using System.Net;
 using System.Security.Principal;
-using MediaBrowser.Model.Cryptography;
-using MediaBrowser.Model.IO;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Text;
-using SocketHttpListener.Net.WebSockets;
 using System.Threading.Tasks;
+using SocketHttpListener.Net.WebSockets;
 
 namespace SocketHttpListener.Net
 {

+ 1 - 6
SocketHttpListener/Net/HttpListenerRequest.Managed.cs

@@ -1,12 +1,7 @@
 using System;
-using System.Text;
-using System.Collections.Specialized;
-using System.Globalization;
 using System.IO;
-using System.Security.Authentication.ExtendedProtection;
-using System.Security.Cryptography.X509Certificates;
+using System.Text;
 using MediaBrowser.Model.Services;
-using MediaBrowser.Model.Text;
 
 namespace SocketHttpListener.Net
 {

+ 2 - 8
SocketHttpListener/Net/HttpListenerRequest.cs

@@ -1,17 +1,11 @@
 using System;
-using System.Collections.Specialized;
+using System.Collections.Generic;
 using System.Globalization;
-using System.IO;
 using System.Net;
-using System.Security.Cryptography.X509Certificates;
 using System.Text;
-using System.Threading.Tasks;
-using MediaBrowser.Model.Net;
 using MediaBrowser.Model.Services;
-using MediaBrowser.Model.Text;
-using SocketHttpListener.Primitives;
-using System.Collections.Generic;
 using SocketHttpListener.Net.WebSockets;
+using SocketHttpListener.Primitives;
 
 namespace SocketHttpListener.Net
 {

+ 1 - 1
SocketHttpListener/Net/HttpListenerRequestUriBuilder.cs

@@ -1,8 +1,8 @@
 using System;
 using System.Collections.Generic;
 using System.Diagnostics;
-using System.Text;
 using System.Globalization;
+using System.Text;
 
 namespace SocketHttpListener.Net
 {

+ 2 - 3
SocketHttpListener/Net/HttpListenerResponse.Managed.cs

@@ -1,14 +1,13 @@
 using System;
-using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
 using System.Net;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
+using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Text;
 using SocketHttpListener.Primitives;
-using System.Threading;
-using MediaBrowser.Model.IO;
 
 namespace SocketHttpListener.Net
 {

+ 0 - 7
SocketHttpListener/Net/HttpListenerResponse.cs

@@ -1,14 +1,7 @@
 using System;
-using System.Collections.Generic;
 using System.IO;
 using System.Net;
 using System.Text;
-using System.Threading.Tasks;
-using System.Globalization;
-using System.Runtime.InteropServices;
-using System.ComponentModel;
-using System.Diagnostics;
-using Microsoft.Win32.SafeHandles;
 
 namespace SocketHttpListener.Net
 {

+ 0 - 4
SocketHttpListener/Net/HttpRequestStream.Managed.cs

@@ -1,9 +1,5 @@
 using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Runtime.ExceptionServices;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace SocketHttpListener.Net
 {

+ 0 - 2
SocketHttpListener/Net/HttpRequestStream.cs

@@ -1,7 +1,5 @@
 using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
 

+ 1 - 3
SocketHttpListener/Net/HttpResponseStream.Managed.cs

@@ -1,15 +1,13 @@
 using System;
-using System.Collections.Generic;
 using System.IO;
 using System.Net;
 using System.Net.Sockets;
-using System.Runtime.ExceptionServices;
 using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
 using MediaBrowser.Model.IO;
-using Microsoft.Extensions.Logging;
 using MediaBrowser.Model.System;
+using Microsoft.Extensions.Logging;
 
 namespace SocketHttpListener.Net
 {

+ 0 - 2
SocketHttpListener/Net/HttpResponseStream.cs

@@ -1,7 +1,5 @@
 using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
 

+ 317 - 317
SocketHttpListener/Net/HttpStatusCode.cs

@@ -1,321 +1,321 @@
 namespace SocketHttpListener.Net
 {
-  /// <summary>
-  /// Contains the values of the HTTP status codes.
-  /// </summary>
-  /// <remarks>
-  /// The HttpStatusCode enumeration contains the values of the HTTP status codes defined in
-  /// <see href="http://tools.ietf.org/html/rfc2616#section-10">RFC 2616</see> for HTTP 1.1.
-  /// </remarks>
-  public enum HttpStatusCode
-  {
     /// <summary>
-    /// Equivalent to status code 100.
-    /// Indicates that the client should continue with its request.
-    /// </summary>
-    Continue = 100,
-    /// <summary>
-    /// Equivalent to status code 101.
-    /// Indicates that the server is switching the HTTP version or protocol on the connection.
-    /// </summary>
-    SwitchingProtocols = 101,
-    /// <summary>
-    /// Equivalent to status code 200.
-    /// Indicates that the client's request has succeeded.
-    /// </summary>
-    OK = 200,
-    /// <summary>
-    /// Equivalent to status code 201.
-    /// Indicates that the client's request has been fulfilled and resulted in a new resource being
-    /// created.
-    /// </summary>
-    Created = 201,
-    /// <summary>
-    /// Equivalent to status code 202.
-    /// Indicates that the client's request has been accepted for processing, but the processing
-    /// hasn't been completed.
-    /// </summary>
-    Accepted = 202,
-    /// <summary>
-    /// Equivalent to status code 203.
-    /// Indicates that the returned metainformation is from a local or a third-party copy instead of
-    /// the origin server.
-    /// </summary>
-    NonAuthoritativeInformation = 203,
-    /// <summary>
-    /// Equivalent to status code 204.
-    /// Indicates that the server has fulfilled the client's request but doesn't need to return
-    /// an entity-body.
-    /// </summary>
-    NoContent = 204,
-    /// <summary>
-    /// Equivalent to status code 205.
-    /// Indicates that the server has fulfilled the client's request, and the user agent should
-    /// reset the document view which caused the request to be sent.
-    /// </summary>
-    ResetContent = 205,
-    /// <summary>
-    /// Equivalent to status code 206.
-    /// Indicates that the server has fulfilled the partial GET request for the resource.
-    /// </summary>
-    PartialContent = 206,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 300.
-    ///   Indicates that the requested resource corresponds to any of multiple representations.
-    ///   </para>
-    ///   <para>
-    ///   MultipleChoices is a synonym for Ambiguous.
-    ///   </para>
-    /// </summary>
-    MultipleChoices = 300,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 300.
-    ///   Indicates that the requested resource corresponds to any of multiple representations.
-    ///   </para>
-    ///   <para>
-    ///   Ambiguous is a synonym for MultipleChoices.
-    ///   </para>
-    /// </summary>
-    Ambiguous = 300,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 301.
-    ///   Indicates that the requested resource has been assigned a new permanent URI and
-    ///   any future references to this resource should use one of the returned URIs.
-    ///   </para>
-    ///   <para>
-    ///   MovedPermanently is a synonym for Moved.
-    ///   </para>
-    /// </summary>
-    MovedPermanently = 301,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 301.
-    ///   Indicates that the requested resource has been assigned a new permanent URI and
-    ///   any future references to this resource should use one of the returned URIs.
-    ///   </para>
-    ///   <para>
-    ///   Moved is a synonym for MovedPermanently.
-    ///   </para>
-    /// </summary>
-    Moved = 301,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 302.
-    ///   Indicates that the requested resource is located temporarily under a different URI.
-    ///   </para>
-    ///   <para>
-    ///   Found is a synonym for Redirect.
-    ///   </para>
-    /// </summary>
-    Found = 302,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 302.
-    ///   Indicates that the requested resource is located temporarily under a different URI.
-    ///   </para>
-    ///   <para>
-    ///   Redirect is a synonym for Found.
-    ///   </para>
-    /// </summary>
-    Redirect = 302,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 303.
-    ///   Indicates that the response to the request can be found under a different URI and
-    ///   should be retrieved using a GET method on that resource.
-    ///   </para>
-    ///   <para>
-    ///   SeeOther is a synonym for RedirectMethod.
-    ///   </para>
-    /// </summary>
-    SeeOther = 303,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 303.
-    ///   Indicates that the response to the request can be found under a different URI and
-    ///   should be retrieved using a GET method on that resource.
-    ///   </para>
-    ///   <para>
-    ///   RedirectMethod is a synonym for SeeOther.
-    ///   </para>
-    /// </summary>
-    RedirectMethod = 303,
-    /// <summary>
-    /// Equivalent to status code 304.
-    /// Indicates that the client has performed a conditional GET request and access is allowed,
-    /// but the document hasn't been modified.
-    /// </summary>
-    NotModified = 304,
-    /// <summary>
-    /// Equivalent to status code 305.
-    /// Indicates that the requested resource must be accessed through the proxy given by
-    /// the Location field.
-    /// </summary>
-    UseProxy = 305,
-    /// <summary>
-    /// Equivalent to status code 306.
-    /// This status code was used in a previous version of the specification, is no longer used,
-    /// and is reserved for future use.
-    /// </summary>
-    Unused = 306,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 307.
-    ///   Indicates that the requested resource is located temporarily under a different URI.
-    ///   </para>
-    ///   <para>
-    ///   TemporaryRedirect is a synonym for RedirectKeepVerb.
-    ///   </para>
-    /// </summary>
-    TemporaryRedirect = 307,
-    /// <summary>
-    ///   <para>
-    ///   Equivalent to status code 307.
-    ///   Indicates that the requested resource is located temporarily under a different URI.
-    ///   </para>
-    ///   <para>
-    ///   RedirectKeepVerb is a synonym for TemporaryRedirect.
-    ///   </para>
-    /// </summary>
-    RedirectKeepVerb = 307,
-    /// <summary>
-    /// Equivalent to status code 400.
-    /// Indicates that the client's request couldn't be understood by the server due to
-    /// malformed syntax.
-    /// </summary>
-    BadRequest = 400,
-    /// <summary>
-    /// Equivalent to status code 401.
-    /// Indicates that the client's request requires user authentication.
-    /// </summary>
-    Unauthorized = 401,
-    /// <summary>
-    /// Equivalent to status code 402.
-    /// This status code is reserved for future use.
-    /// </summary>
-    PaymentRequired = 402,
-    /// <summary>
-    /// Equivalent to status code 403.
-    /// Indicates that the server understood the client's request but is refusing to fulfill it.
-    /// </summary>
-    Forbidden = 403,
-    /// <summary>
-    /// Equivalent to status code 404.
-    /// Indicates that the server hasn't found anything matching the request URI.
-    /// </summary>
-    NotFound = 404,
-    /// <summary>
-    /// Equivalent to status code 405.
-    /// Indicates that the method specified in the request line isn't allowed for the resource
-    /// identified by the request URI.
-    /// </summary>
-    MethodNotAllowed = 405,
-    /// <summary>
-    /// Equivalent to status code 406.
-    /// Indicates that the server doesn't have the appropriate resource to respond to the Accept
-    /// headers in the client's request.
-    /// </summary>
-    NotAcceptable = 406,
-    /// <summary>
-    /// Equivalent to status code 407.
-    /// Indicates that the client must first authenticate itself with the proxy.
-    /// </summary>
-    ProxyAuthenticationRequired = 407,
-    /// <summary>
-    /// Equivalent to status code 408.
-    /// Indicates that the client didn't produce a request within the time that the server was
-    /// prepared to wait.
-    /// </summary>
-    RequestTimeout = 408,
-    /// <summary>
-    /// Equivalent to status code 409.
-    /// Indicates that the client's request couldn't be completed due to a conflict on the server.
-    /// </summary>
-    Conflict = 409,
-    /// <summary>
-    /// Equivalent to status code 410.
-    /// Indicates that the requested resource is no longer available at the server and
-    /// no forwarding address is known.
-    /// </summary>
-    Gone = 410,
-    /// <summary>
-    /// Equivalent to status code 411.
-    /// Indicates that the server refuses to accept the client's request without a defined
-    /// Content-Length.
-    /// </summary>
-    LengthRequired = 411,
-    /// <summary>
-    /// Equivalent to status code 412.
-    /// Indicates that the precondition given in one or more of the request headers evaluated to
-    /// false when it was tested on the server.
-    /// </summary>
-    PreconditionFailed = 412,
-    /// <summary>
-    /// Equivalent to status code 413.
-    /// Indicates that the entity of the client's request is larger than the server is willing or
-    /// able to process.
-    /// </summary>
-    RequestEntityTooLarge = 413,
-    /// <summary>
-    /// Equivalent to status code 414.
-    /// Indicates that the request URI is longer than the server is willing to interpret.
-    /// </summary>
-    RequestUriTooLong = 414,
-    /// <summary>
-    /// Equivalent to status code 415.
-    /// Indicates that the entity of the client's request is in a format not supported by
-    /// the requested resource for the requested method.
-    /// </summary>
-    UnsupportedMediaType = 415,
-    /// <summary>
-    /// Equivalent to status code 416.
-    /// Indicates that none of the range specifier values in a Range request header overlap
-    /// the current extent of the selected resource.
-    /// </summary>
-    RequestedRangeNotSatisfiable = 416,
-    /// <summary>
-    /// Equivalent to status code 417.
-    /// Indicates that the expectation given in an Expect request header couldn't be met by
-    /// the server.
-    /// </summary>
-    ExpectationFailed = 417,
-    /// <summary>
-    /// Equivalent to status code 500.
-    /// Indicates that the server encountered an unexpected condition which prevented it from
-    /// fulfilling the client's request.
-    /// </summary>
-    InternalServerError = 500,
-    /// <summary>
-    /// Equivalent to status code 501.
-    /// Indicates that the server doesn't support the functionality required to fulfill the client's
-    /// request.
-    /// </summary>
-    NotImplemented = 501,
-    /// <summary>
-    /// Equivalent to status code 502.
-    /// Indicates that a gateway or proxy server received an invalid response from the upstream
-    /// server.
-    /// </summary>
-    BadGateway = 502,
-    /// <summary>
-    /// Equivalent to status code 503.
-    /// Indicates that the server is currently unable to handle the client's request due to
-    /// a temporary overloading or maintenance of the server.
-    /// </summary>
-    ServiceUnavailable = 503,
-    /// <summary>
-    /// Equivalent to status code 504.
-    /// Indicates that a gateway or proxy server didn't receive a timely response from the upstream
-    /// server or some other auxiliary server.
-    /// </summary>
-    GatewayTimeout = 504,
-    /// <summary>
-    /// Equivalent to status code 505.
-    /// Indicates that the server doesn't support the HTTP version used in the client's request.
-    /// </summary>
-    HttpVersionNotSupported = 505,
-  }
+    /// Contains the values of the HTTP status codes.
+    /// </summary>
+    /// <remarks>
+    /// The HttpStatusCode enumeration contains the values of the HTTP status codes defined in
+    /// <see href="http://tools.ietf.org/html/rfc2616#section-10">RFC 2616</see> for HTTP 1.1.
+    /// </remarks>
+    public enum HttpStatusCode
+    {
+        /// <summary>
+        /// Equivalent to status code 100.
+        /// Indicates that the client should continue with its request.
+        /// </summary>
+        Continue = 100,
+        /// <summary>
+        /// Equivalent to status code 101.
+        /// Indicates that the server is switching the HTTP version or protocol on the connection.
+        /// </summary>
+        SwitchingProtocols = 101,
+        /// <summary>
+        /// Equivalent to status code 200.
+        /// Indicates that the client's request has succeeded.
+        /// </summary>
+        OK = 200,
+        /// <summary>
+        /// Equivalent to status code 201.
+        /// Indicates that the client's request has been fulfilled and resulted in a new resource being
+        /// created.
+        /// </summary>
+        Created = 201,
+        /// <summary>
+        /// Equivalent to status code 202.
+        /// Indicates that the client's request has been accepted for processing, but the processing
+        /// hasn't been completed.
+        /// </summary>
+        Accepted = 202,
+        /// <summary>
+        /// Equivalent to status code 203.
+        /// Indicates that the returned metainformation is from a local or a third-party copy instead of
+        /// the origin server.
+        /// </summary>
+        NonAuthoritativeInformation = 203,
+        /// <summary>
+        /// Equivalent to status code 204.
+        /// Indicates that the server has fulfilled the client's request but doesn't need to return
+        /// an entity-body.
+        /// </summary>
+        NoContent = 204,
+        /// <summary>
+        /// Equivalent to status code 205.
+        /// Indicates that the server has fulfilled the client's request, and the user agent should
+        /// reset the document view which caused the request to be sent.
+        /// </summary>
+        ResetContent = 205,
+        /// <summary>
+        /// Equivalent to status code 206.
+        /// Indicates that the server has fulfilled the partial GET request for the resource.
+        /// </summary>
+        PartialContent = 206,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 300.
+        ///   Indicates that the requested resource corresponds to any of multiple representations.
+        ///   </para>
+        ///   <para>
+        ///   MultipleChoices is a synonym for Ambiguous.
+        ///   </para>
+        /// </summary>
+        MultipleChoices = 300,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 300.
+        ///   Indicates that the requested resource corresponds to any of multiple representations.
+        ///   </para>
+        ///   <para>
+        ///   Ambiguous is a synonym for MultipleChoices.
+        ///   </para>
+        /// </summary>
+        Ambiguous = 300,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 301.
+        ///   Indicates that the requested resource has been assigned a new permanent URI and
+        ///   any future references to this resource should use one of the returned URIs.
+        ///   </para>
+        ///   <para>
+        ///   MovedPermanently is a synonym for Moved.
+        ///   </para>
+        /// </summary>
+        MovedPermanently = 301,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 301.
+        ///   Indicates that the requested resource has been assigned a new permanent URI and
+        ///   any future references to this resource should use one of the returned URIs.
+        ///   </para>
+        ///   <para>
+        ///   Moved is a synonym for MovedPermanently.
+        ///   </para>
+        /// </summary>
+        Moved = 301,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 302.
+        ///   Indicates that the requested resource is located temporarily under a different URI.
+        ///   </para>
+        ///   <para>
+        ///   Found is a synonym for Redirect.
+        ///   </para>
+        /// </summary>
+        Found = 302,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 302.
+        ///   Indicates that the requested resource is located temporarily under a different URI.
+        ///   </para>
+        ///   <para>
+        ///   Redirect is a synonym for Found.
+        ///   </para>
+        /// </summary>
+        Redirect = 302,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 303.
+        ///   Indicates that the response to the request can be found under a different URI and
+        ///   should be retrieved using a GET method on that resource.
+        ///   </para>
+        ///   <para>
+        ///   SeeOther is a synonym for RedirectMethod.
+        ///   </para>
+        /// </summary>
+        SeeOther = 303,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 303.
+        ///   Indicates that the response to the request can be found under a different URI and
+        ///   should be retrieved using a GET method on that resource.
+        ///   </para>
+        ///   <para>
+        ///   RedirectMethod is a synonym for SeeOther.
+        ///   </para>
+        /// </summary>
+        RedirectMethod = 303,
+        /// <summary>
+        /// Equivalent to status code 304.
+        /// Indicates that the client has performed a conditional GET request and access is allowed,
+        /// but the document hasn't been modified.
+        /// </summary>
+        NotModified = 304,
+        /// <summary>
+        /// Equivalent to status code 305.
+        /// Indicates that the requested resource must be accessed through the proxy given by
+        /// the Location field.
+        /// </summary>
+        UseProxy = 305,
+        /// <summary>
+        /// Equivalent to status code 306.
+        /// This status code was used in a previous version of the specification, is no longer used,
+        /// and is reserved for future use.
+        /// </summary>
+        Unused = 306,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 307.
+        ///   Indicates that the requested resource is located temporarily under a different URI.
+        ///   </para>
+        ///   <para>
+        ///   TemporaryRedirect is a synonym for RedirectKeepVerb.
+        ///   </para>
+        /// </summary>
+        TemporaryRedirect = 307,
+        /// <summary>
+        ///   <para>
+        ///   Equivalent to status code 307.
+        ///   Indicates that the requested resource is located temporarily under a different URI.
+        ///   </para>
+        ///   <para>
+        ///   RedirectKeepVerb is a synonym for TemporaryRedirect.
+        ///   </para>
+        /// </summary>
+        RedirectKeepVerb = 307,
+        /// <summary>
+        /// Equivalent to status code 400.
+        /// Indicates that the client's request couldn't be understood by the server due to
+        /// malformed syntax.
+        /// </summary>
+        BadRequest = 400,
+        /// <summary>
+        /// Equivalent to status code 401.
+        /// Indicates that the client's request requires user authentication.
+        /// </summary>
+        Unauthorized = 401,
+        /// <summary>
+        /// Equivalent to status code 402.
+        /// This status code is reserved for future use.
+        /// </summary>
+        PaymentRequired = 402,
+        /// <summary>
+        /// Equivalent to status code 403.
+        /// Indicates that the server understood the client's request but is refusing to fulfill it.
+        /// </summary>
+        Forbidden = 403,
+        /// <summary>
+        /// Equivalent to status code 404.
+        /// Indicates that the server hasn't found anything matching the request URI.
+        /// </summary>
+        NotFound = 404,
+        /// <summary>
+        /// Equivalent to status code 405.
+        /// Indicates that the method specified in the request line isn't allowed for the resource
+        /// identified by the request URI.
+        /// </summary>
+        MethodNotAllowed = 405,
+        /// <summary>
+        /// Equivalent to status code 406.
+        /// Indicates that the server doesn't have the appropriate resource to respond to the Accept
+        /// headers in the client's request.
+        /// </summary>
+        NotAcceptable = 406,
+        /// <summary>
+        /// Equivalent to status code 407.
+        /// Indicates that the client must first authenticate itself with the proxy.
+        /// </summary>
+        ProxyAuthenticationRequired = 407,
+        /// <summary>
+        /// Equivalent to status code 408.
+        /// Indicates that the client didn't produce a request within the time that the server was
+        /// prepared to wait.
+        /// </summary>
+        RequestTimeout = 408,
+        /// <summary>
+        /// Equivalent to status code 409.
+        /// Indicates that the client's request couldn't be completed due to a conflict on the server.
+        /// </summary>
+        Conflict = 409,
+        /// <summary>
+        /// Equivalent to status code 410.
+        /// Indicates that the requested resource is no longer available at the server and
+        /// no forwarding address is known.
+        /// </summary>
+        Gone = 410,
+        /// <summary>
+        /// Equivalent to status code 411.
+        /// Indicates that the server refuses to accept the client's request without a defined
+        /// Content-Length.
+        /// </summary>
+        LengthRequired = 411,
+        /// <summary>
+        /// Equivalent to status code 412.
+        /// Indicates that the precondition given in one or more of the request headers evaluated to
+        /// false when it was tested on the server.
+        /// </summary>
+        PreconditionFailed = 412,
+        /// <summary>
+        /// Equivalent to status code 413.
+        /// Indicates that the entity of the client's request is larger than the server is willing or
+        /// able to process.
+        /// </summary>
+        RequestEntityTooLarge = 413,
+        /// <summary>
+        /// Equivalent to status code 414.
+        /// Indicates that the request URI is longer than the server is willing to interpret.
+        /// </summary>
+        RequestUriTooLong = 414,
+        /// <summary>
+        /// Equivalent to status code 415.
+        /// Indicates that the entity of the client's request is in a format not supported by
+        /// the requested resource for the requested method.
+        /// </summary>
+        UnsupportedMediaType = 415,
+        /// <summary>
+        /// Equivalent to status code 416.
+        /// Indicates that none of the range specifier values in a Range request header overlap
+        /// the current extent of the selected resource.
+        /// </summary>
+        RequestedRangeNotSatisfiable = 416,
+        /// <summary>
+        /// Equivalent to status code 417.
+        /// Indicates that the expectation given in an Expect request header couldn't be met by
+        /// the server.
+        /// </summary>
+        ExpectationFailed = 417,
+        /// <summary>
+        /// Equivalent to status code 500.
+        /// Indicates that the server encountered an unexpected condition which prevented it from
+        /// fulfilling the client's request.
+        /// </summary>
+        InternalServerError = 500,
+        /// <summary>
+        /// Equivalent to status code 501.
+        /// Indicates that the server doesn't support the functionality required to fulfill the client's
+        /// request.
+        /// </summary>
+        NotImplemented = 501,
+        /// <summary>
+        /// Equivalent to status code 502.
+        /// Indicates that a gateway or proxy server received an invalid response from the upstream
+        /// server.
+        /// </summary>
+        BadGateway = 502,
+        /// <summary>
+        /// Equivalent to status code 503.
+        /// Indicates that the server is currently unable to handle the client's request due to
+        /// a temporary overloading or maintenance of the server.
+        /// </summary>
+        ServiceUnavailable = 503,
+        /// <summary>
+        /// Equivalent to status code 504.
+        /// Indicates that a gateway or proxy server didn't receive a timely response from the upstream
+        /// server or some other auxiliary server.
+        /// </summary>
+        GatewayTimeout = 504,
+        /// <summary>
+        /// Equivalent to status code 505.
+        /// Indicates that the server doesn't support the HTTP version used in the client's request.
+        /// </summary>
+        HttpVersionNotSupported = 505,
+    }
 }

+ 1 - 6
SocketHttpListener/Net/HttpStatusDescription.cs

@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace SocketHttpListener.Net
+namespace SocketHttpListener.Net
 {
     internal static class HttpStatusDescription
     {

+ 0 - 1
SocketHttpListener/Net/ListenerPrefix.cs

@@ -1,6 +1,5 @@
 using System;
 using System.Net;
-using MediaBrowser.Model.Net;
 
 namespace SocketHttpListener.Net
 {

+ 1 - 5
SocketHttpListener/Net/UriScheme.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace SocketHttpListener.Net
+namespace SocketHttpListener.Net
 {
     internal static class UriScheme
     {

+ 0 - 5
SocketHttpListener/Net/WebHeaderCollection.cs

@@ -1,13 +1,8 @@
 using System;
-using System.Collections;
 using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.Net;
 using System.Runtime.InteropServices;
-using System.Runtime.Serialization;
 using System.Text;
 using MediaBrowser.Model.Services;
-using MediaBrowser.Model.Extensions;
 
 namespace SocketHttpListener.Net
 {

+ 1 - 4
SocketHttpListener/Net/WebHeaderEncoding.cs

@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading.Tasks;
+using System.Text;
 
 namespace SocketHttpListener.Net
 {

+ 0 - 6
SocketHttpListener/Net/WebSockets/HttpListenerWebSocketContext.cs

@@ -1,14 +1,8 @@
 using System;
 using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.IO;
 using System.Net;
 using System.Security.Principal;
-using MediaBrowser.Model.Cryptography;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Net;
 using MediaBrowser.Model.Services;
-using SocketHttpListener.Primitives;
 
 namespace SocketHttpListener.Net.WebSockets
 {

+ 0 - 2
SocketHttpListener/Net/WebSockets/HttpWebSocket.Managed.cs

@@ -1,6 +1,4 @@
 using System;
-using System.Collections.Generic;
-using System.Text;
 using System.Threading.Tasks;
 
 namespace SocketHttpListener.Net.WebSockets

+ 1 - 2
SocketHttpListener/Net/WebSockets/HttpWebSocket.cs

@@ -1,8 +1,7 @@
 using System;
-using System.Collections.Generic;
-using System.Text;
 using System.Diagnostics.CodeAnalysis;
 using System.Security.Cryptography;
+using System.Text;
 using System.Threading;
 
 namespace SocketHttpListener.Net.WebSockets

+ 1 - 5
SocketHttpListener/Net/WebSockets/WebSocketCloseStatus.cs

@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace SocketHttpListener.Net.WebSockets
+namespace SocketHttpListener.Net.WebSockets
 {
     public enum WebSocketCloseStatus
     {

+ 0 - 2
SocketHttpListener/Net/WebSockets/WebSocketContext.cs

@@ -1,9 +1,7 @@
 using System;
 using System.Collections.Generic;
-using System.Collections.Specialized;
 using System.Net;
 using System.Security.Principal;
-using MediaBrowser.Model.Net;
 using MediaBrowser.Model.Services;
 
 namespace SocketHttpListener.Net.WebSockets

+ 1 - 3
SocketHttpListener/Net/WebSockets/WebSocketValidate.cs

@@ -1,8 +1,6 @@
 using System;
-using System.Collections.Generic;
-using System.Text;
-using MediaBrowser.Model.Net;
 using System.Globalization;
+using System.Text;
 using WebSocketState = System.Net.WebSockets.WebSocketState;
 
 namespace SocketHttpListener.Net.WebSockets

+ 38 - 38
SocketHttpListener/Opcode.cs

@@ -1,43 +1,43 @@
 namespace SocketHttpListener
 {
-  /// <summary>
-  /// Contains the values of the opcode that indicates the type of a WebSocket frame.
-  /// </summary>
-  /// <remarks>
-  /// The values of the opcode are defined in
-  /// <see href="http://tools.ietf.org/html/rfc6455#section-5.2">Section 5.2</see> of RFC 6455.
-  /// </remarks>
-  public enum Opcode : byte
-  {
     /// <summary>
-    /// Equivalent to numeric value 0.
-    /// Indicates a continuation frame.
+    /// Contains the values of the opcode that indicates the type of a WebSocket frame.
     /// </summary>
-    Cont = 0x0,
-    /// <summary>
-    /// Equivalent to numeric value 1.
-    /// Indicates a text frame.
-    /// </summary>
-    Text = 0x1,
-    /// <summary>
-    /// Equivalent to numeric value 2.
-    /// Indicates a binary frame.
-    /// </summary>
-    Binary = 0x2,
-    /// <summary>
-    /// Equivalent to numeric value 8.
-    /// Indicates a connection close frame.
-    /// </summary>
-    Close = 0x8,
-    /// <summary>
-    /// Equivalent to numeric value 9.
-    /// Indicates a ping frame.
-    /// </summary>
-    Ping = 0x9,
-    /// <summary>
-    /// Equivalent to numeric value 10.
-    /// Indicates a pong frame.
-    /// </summary>
-    Pong = 0xa
-  }
+    /// <remarks>
+    /// The values of the opcode are defined in
+    /// <see href="http://tools.ietf.org/html/rfc6455#section-5.2">Section 5.2</see> of RFC 6455.
+    /// </remarks>
+    public enum Opcode : byte
+    {
+        /// <summary>
+        /// Equivalent to numeric value 0.
+        /// Indicates a continuation frame.
+        /// </summary>
+        Cont = 0x0,
+        /// <summary>
+        /// Equivalent to numeric value 1.
+        /// Indicates a text frame.
+        /// </summary>
+        Text = 0x1,
+        /// <summary>
+        /// Equivalent to numeric value 2.
+        /// Indicates a binary frame.
+        /// </summary>
+        Binary = 0x2,
+        /// <summary>
+        /// Equivalent to numeric value 8.
+        /// Indicates a connection close frame.
+        /// </summary>
+        Close = 0x8,
+        /// <summary>
+        /// Equivalent to numeric value 9.
+        /// Indicates a ping frame.
+        /// </summary>
+        Ping = 0x9,
+        /// <summary>
+        /// Equivalent to numeric value 10.
+        /// Indicates a pong frame.
+        /// </summary>
+        Pong = 0xa
+    }
 }

+ 133 - 123
SocketHttpListener/PayloadData.cs

@@ -5,145 +5,155 @@ using System.Text;
 
 namespace SocketHttpListener
 {
-  internal class PayloadData : IEnumerable<byte>
-  {
-    #region Private Fields
-
-    private byte [] _applicationData;
-    private byte [] _extensionData;
-    private bool    _masked;
-
-    #endregion
-
-    #region Public Const Fields
-
-    public const ulong MaxLength = long.MaxValue;
-
-    #endregion
-
-    #region Public Constructors
-
-    public PayloadData ()
-      : this (new byte [0], new byte [0], false)
+    internal class PayloadData : IEnumerable<byte>
     {
-    }
+        #region Private Fields
+
+        private byte[] _applicationData;
+        private byte[] _extensionData;
+        private bool _masked;
 
-    public PayloadData (byte [] applicationData)
-      : this (new byte [0], applicationData, false)
-    {
-    }
+        #endregion
+
+        #region Public Const Fields
+
+        public const ulong MaxLength = long.MaxValue;
+
+        #endregion
+
+        #region Public Constructors
+
+        public PayloadData()
+          : this(new byte[0], new byte[0], false)
+        {
+        }
+
+        public PayloadData(byte[] applicationData)
+          : this(new byte[0], applicationData, false)
+        {
+        }
 
-    public PayloadData (string applicationData)
-      : this (new byte [0], Encoding.UTF8.GetBytes (applicationData), false)
-    {
-    }
+        public PayloadData(string applicationData)
+          : this(new byte[0], Encoding.UTF8.GetBytes(applicationData), false)
+        {
+        }
+
+        public PayloadData(byte[] applicationData, bool masked)
+          : this(new byte[0], applicationData, masked)
+        {
+        }
+
+        public PayloadData(byte[] extensionData, byte[] applicationData, bool masked)
+        {
+            _extensionData = extensionData;
+            _applicationData = applicationData;
+            _masked = masked;
+        }
 
-    public PayloadData (byte [] applicationData, bool masked)
-      : this (new byte [0], applicationData, masked)
-    {
-    }
+        #endregion
+
+        #region Internal Properties
 
-    public PayloadData (byte [] extensionData, byte [] applicationData, bool masked)
-    {
-      _extensionData = extensionData;
-      _applicationData = applicationData;
-      _masked = masked;
-    }
+        internal bool ContainsReservedCloseStatusCode
+        {
+            get
+            {
+                return _applicationData.Length > 1 &&
+                       _applicationData.SubArray(0, 2).ToUInt16(ByteOrder.Big).IsReserved();
+            }
+        }
 
-    #endregion
+        #endregion
 
-    #region Internal Properties
+        #region Public Properties
 
-    internal bool ContainsReservedCloseStatusCode {
-      get {
-        return _applicationData.Length > 1 &&
-               _applicationData.SubArray (0, 2).ToUInt16 (ByteOrder.Big).IsReserved ();
-      }
-    }
+        public byte[] ApplicationData
+        {
+            get
+            {
+                return _applicationData;
+            }
+        }
 
-    #endregion
+        public byte[] ExtensionData
+        {
+            get
+            {
+                return _extensionData;
+            }
+        }
 
-    #region Public Properties
+        public bool IsMasked
+        {
+            get
+            {
+                return _masked;
+            }
+        }
 
-    public byte [] ApplicationData {
-      get {
-        return _applicationData;
-      }
-    }
+        public ulong Length
+        {
+            get
+            {
+                return (ulong)(_extensionData.Length + _applicationData.Length);
+            }
+        }
 
-    public byte [] ExtensionData {
-      get {
-        return _extensionData;
-      }
-    }
+        #endregion
 
-    public bool IsMasked {
-      get {
-        return _masked;
-      }
-    }
+        #region Private Methods
 
-    public ulong Length {
-      get {
-        return (ulong) (_extensionData.Length + _applicationData.Length);
-      }
-    }
+        private static void mask(byte[] src, byte[] key)
+        {
+            for (long i = 0; i < src.Length; i++)
+                src[i] = (byte)(src[i] ^ key[i % 4]);
+        }
 
-    #endregion
+        #endregion
 
-    #region Private Methods
+        #region Public Methods
 
-    private static void mask (byte [] src, byte [] key)
-    {
-      for (long i = 0; i < src.Length; i++)
-        src [i] = (byte) (src [i] ^ key [i % 4]);
+        public IEnumerator<byte> GetEnumerator()
+        {
+            foreach (byte b in _extensionData)
+                yield return b;
+
+            foreach (byte b in _applicationData)
+                yield return b;
+        }
+
+        public void Mask(byte[] maskingKey)
+        {
+            if (_extensionData.Length > 0)
+                mask(_extensionData, maskingKey);
+
+            if (_applicationData.Length > 0)
+                mask(_applicationData, maskingKey);
+
+            _masked = !_masked;
+        }
+
+        public byte[] ToByteArray()
+        {
+            return _extensionData.Length > 0
+                   ? new List<byte>(this).ToArray()
+                   : _applicationData;
+        }
+
+        public override string ToString()
+        {
+            return BitConverter.ToString(ToByteArray());
+        }
+
+        #endregion
+
+        #region Explicitly Implemented Interface Members
+
+        IEnumerator IEnumerable.GetEnumerator()
+        {
+            return GetEnumerator();
+        }
+
+        #endregion
     }
-
-    #endregion
-
-    #region Public Methods
-
-    public IEnumerator<byte> GetEnumerator ()
-    {
-      foreach (byte b in _extensionData)
-        yield return b;
-
-      foreach (byte b in _applicationData)
-        yield return b;
-    }
-
-    public void Mask (byte [] maskingKey)
-    {
-      if (_extensionData.Length > 0)
-        mask (_extensionData, maskingKey);
-
-      if (_applicationData.Length > 0)
-        mask (_applicationData, maskingKey);
-
-      _masked = !_masked;
-    }
-
-    public byte [] ToByteArray ()
-    {
-      return _extensionData.Length > 0
-             ? new List<byte> (this).ToArray ()
-             : _applicationData;
-    }
-
-    public override string ToString ()
-    {
-      return BitConverter.ToString (ToByteArray ());
-    }
-
-    #endregion
-
-    #region Explicitly Implemented Interface Members
-
-    IEnumerator IEnumerable.GetEnumerator ()
-    {
-      return GetEnumerator ();
-    }
-
-    #endregion
-  }
 }

+ 1 - 4
SocketHttpListener/Primitives/ITextEncoding.cs

@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading.Tasks;
+using System.Text;
 using MediaBrowser.Model.Text;
 
 namespace SocketHttpListener.Primitives

+ 5 - 5
SocketHttpListener/Rsv.cs

@@ -1,8 +1,8 @@
 namespace SocketHttpListener
 {
-  internal enum Rsv : byte
-  {
-    Off = 0x0,
-    On = 0x1
-  }
+    internal enum Rsv : byte
+    {
+        Off = 0x0,
+        On = 0x1
+    }
 }

+ 0 - 4
SocketHttpListener/SocketStream.cs

@@ -1,10 +1,6 @@
 using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
 using System.Net.Sockets;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace SocketHttpListener
 {

+ 1 - 4
SocketHttpListener/WebSocket.cs

@@ -3,15 +3,12 @@ using System.Collections;
 using System.Collections.Generic;
 using System.IO;
 using System.Net;
+using System.Net.Sockets;
 using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
-using MediaBrowser.Model.Cryptography;
-using MediaBrowser.Model.IO;
 using SocketHttpListener.Net.WebSockets;
-using SocketHttpListener.Primitives;
 using HttpStatusCode = SocketHttpListener.Net.HttpStatusCode;
-using System.Net.Sockets;
 using WebSocketState = System.Net.WebSockets.WebSocketState;
 
 namespace SocketHttpListener

+ 53 - 52
SocketHttpListener/WebSocketException.cs

@@ -2,59 +2,60 @@ using System;
 
 namespace SocketHttpListener
 {
-  /// <summary>
-  /// The exception that is thrown when a <see cref="WebSocket"/> gets a fatal error.
-  /// </summary>
-  public class WebSocketException : Exception
-  {
-    #region Internal Constructors
-
-    internal WebSocketException ()
-      : this (CloseStatusCode.Abnormal, null, null)
-    {
-    }
-
-    internal WebSocketException (string message)
-      : this (CloseStatusCode.Abnormal, message, null)
-    {
-    }
-
-    internal WebSocketException (CloseStatusCode code)
-      : this (code, null, null)
-    {
-    }
-
-    internal WebSocketException (string message, Exception innerException)
-      : this (CloseStatusCode.Abnormal, message, innerException)
-    {
-    }
-
-    internal WebSocketException (CloseStatusCode code, string message)
-      : this (code, message, null)
-    {
-    }
-
-    internal WebSocketException (CloseStatusCode code, string message, Exception innerException)
-      : base (message ?? code.GetMessage (), innerException)
-    {
-      Code = code;
-    }
-
-    #endregion
-
-    #region Public Properties
-
     /// <summary>
-    /// Gets the status code indicating the cause for the exception.
+    /// The exception that is thrown when a <see cref="WebSocket"/> gets a fatal error.
     /// </summary>
-    /// <value>
-    /// One of the <see cref="CloseStatusCode"/> enum values, represents the status code indicating
-    /// the cause for the exception.
-    /// </value>
-    public CloseStatusCode Code {
-      get; private set;
+    public class WebSocketException : Exception
+    {
+        #region Internal Constructors
+
+        internal WebSocketException()
+          : this(CloseStatusCode.Abnormal, null, null)
+        {
+        }
+
+        internal WebSocketException(string message)
+          : this(CloseStatusCode.Abnormal, message, null)
+        {
+        }
+
+        internal WebSocketException(CloseStatusCode code)
+          : this(code, null, null)
+        {
+        }
+
+        internal WebSocketException(string message, Exception innerException)
+          : this(CloseStatusCode.Abnormal, message, innerException)
+        {
+        }
+
+        internal WebSocketException(CloseStatusCode code, string message)
+          : this(code, message, null)
+        {
+        }
+
+        internal WebSocketException(CloseStatusCode code, string message, Exception innerException)
+          : base(message ?? code.GetMessage(), innerException)
+        {
+            Code = code;
+        }
+
+        #endregion
+
+        #region Public Properties
+
+        /// <summary>
+        /// Gets the status code indicating the cause for the exception.
+        /// </summary>
+        /// <value>
+        /// One of the <see cref="CloseStatusCode"/> enum values, represents the status code indicating
+        /// the cause for the exception.
+        /// </value>
+        public CloseStatusCode Code
+        {
+            get; private set;
+        }
+
+        #endregion
     }
-
-    #endregion
-  }
 }

+ 0 - 1
SocketHttpListener/WebSocketFrame.cs

@@ -2,7 +2,6 @@ using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.IO;
-using System.Text;
 
 namespace SocketHttpListener
 {