aboutsummaryrefslogtreecommitdiff
path: root/SocketHttpListener/WebSocketException.cs
blob: e86c46d0f5ed405be29f4ce3cc2c252571e2e916 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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.
        /// </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
    }
}