Refactored TcpListenerWebSocketContext.cs
This commit is contained in:
		@@ -181,10 +181,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the collection of query string variables included in the request.
 | 
			
		||||
    /// Gets the query string variables included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="NameValueCollection"/> that contains the collection of query string variables.
 | 
			
		||||
    /// A <see cref="NameValueCollection"/> that contains the query string variables.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override NameValueCollection QueryString {
 | 
			
		||||
      get {
 | 
			
		||||
 
 | 
			
		||||
@@ -36,8 +36,8 @@ using System.Security.Principal;
 | 
			
		||||
namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
{
 | 
			
		||||
  /// <summary>
 | 
			
		||||
  /// Provides access to the WebSocket connection request information received by
 | 
			
		||||
  /// the <see cref="TcpListener"/>.
 | 
			
		||||
  /// Provides the properties used for accessing the information in a WebSocket connection request
 | 
			
		||||
  /// received by the <see cref="TcpListener"/>.
 | 
			
		||||
  /// </summary>
 | 
			
		||||
  /// <remarks>
 | 
			
		||||
  /// </remarks>
 | 
			
		||||
@@ -66,6 +66,7 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
      _stream = WsStream.CreateServerStream (client, cert, secure);
 | 
			
		||||
      _request = _stream.ReadHandshake<HandshakeRequest> (
 | 
			
		||||
        HandshakeRequest.Parse, 90000);
 | 
			
		||||
 | 
			
		||||
      _websocket = new WebSocket (this, logger);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -84,11 +85,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    #region Public Properties
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the cookies used in the WebSocket connection request.
 | 
			
		||||
    /// Gets the HTTP cookies included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="WebSocketSharp.Net.CookieCollection"/> that contains the
 | 
			
		||||
    /// cookies.
 | 
			
		||||
    /// A <see cref="WebSocketSharp.Net.CookieCollection"/> that contains the cookies.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override CookieCollection CookieCollection {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -97,10 +97,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the HTTP headers used in the WebSocket connection request.
 | 
			
		||||
    /// Gets the HTTP headers included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="NameValueCollection"/> that contains the HTTP headers.
 | 
			
		||||
    /// A <see cref="NameValueCollection"/> that contains the headers.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override NameValueCollection Headers {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -109,11 +109,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the value of the Host header field used in the WebSocket connection
 | 
			
		||||
    /// request.
 | 
			
		||||
    /// Gets the value of the Host header included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="string"/> that represents the value of the Host header field.
 | 
			
		||||
    /// A <see cref="string"/> that represents the value of the Host header.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override string Host {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -134,12 +133,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets a value indicating whether the client connected from the local
 | 
			
		||||
    /// computer.
 | 
			
		||||
    /// Gets a value indicating whether the client connected from the local computer.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// <c>true</c> if the client connected from the local computer; otherwise,
 | 
			
		||||
    /// <c>false</c>.
 | 
			
		||||
    /// <c>true</c> if the client connected from the local computer; otherwise, <c>false</c>.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override bool IsLocal {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -151,8 +148,7 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    /// Gets a value indicating whether the WebSocket connection is secured.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// <c>true</c> if the WebSocket connection is secured; otherwise,
 | 
			
		||||
    /// <c>false</c>.
 | 
			
		||||
    /// <c>true</c> if the connection is secured; otherwise, <c>false</c>.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override bool IsSecureConnection {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -161,12 +157,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets a value indicating whether the request is a WebSocket connection
 | 
			
		||||
    /// request.
 | 
			
		||||
    /// Gets a value indicating whether the request is a WebSocket connection request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// <c>true</c> if the request is a WebSocket connection request; otherwise,
 | 
			
		||||
    /// <c>false</c>.
 | 
			
		||||
    /// <c>true</c> if the request is a WebSocket connection request; otherwise, <c>false</c>.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override bool IsWebSocketRequest {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -175,12 +169,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the value of the Origin header field used in the WebSocket
 | 
			
		||||
    /// connection request.
 | 
			
		||||
    /// Gets the value of the Origin header included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="string"/> that represents the value of the Origin header
 | 
			
		||||
    /// field.
 | 
			
		||||
    /// A <see cref="string"/> that represents the value of the Origin header.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override string Origin {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -189,11 +181,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the absolute path of the requested WebSocket URI.
 | 
			
		||||
    /// Gets the absolute path of the requested URI.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="string"/> that represents the absolute path of the requested
 | 
			
		||||
    /// WebSocket URI.
 | 
			
		||||
    /// A <see cref="string"/> that represents the absolute path of the requested URI.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override string Path {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -202,12 +193,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the collection of query string variables used in the WebSocket
 | 
			
		||||
    /// connection request.
 | 
			
		||||
    /// Gets the query string variables included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="NameValueCollection"/> that contains the collection of query
 | 
			
		||||
    /// string variables.
 | 
			
		||||
    /// A <see cref="NameValueCollection"/> that contains the query string variables.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override NameValueCollection QueryString {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -216,11 +205,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the WebSocket URI requested by the client.
 | 
			
		||||
    /// Gets the URI requested by the client.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="Uri"/> that represents the WebSocket URI requested by the
 | 
			
		||||
    /// client.
 | 
			
		||||
    /// A <see cref="Uri"/> that represents the requested URI.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override Uri RequestUri {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -229,16 +217,14 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the value of the Sec-WebSocket-Key header field used in the
 | 
			
		||||
    /// WebSocket connection request.
 | 
			
		||||
    /// Gets the value of the Sec-WebSocket-Key header included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <remarks>
 | 
			
		||||
    /// This property provides a part of the information used by the server to
 | 
			
		||||
    /// prove that it received a valid WebSocket connection request.
 | 
			
		||||
    /// This property provides a part of the information used by the server to prove that it
 | 
			
		||||
    /// received a valid WebSocket connection request.
 | 
			
		||||
    /// </remarks>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="string"/> that represents the value of the Sec-WebSocket-Key
 | 
			
		||||
    /// header field.
 | 
			
		||||
    /// A <see cref="string"/> that represents the value of the Sec-WebSocket-Key header.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override string SecWebSocketKey {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -247,15 +233,13 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the values of the Sec-WebSocket-Protocol header field used in the
 | 
			
		||||
    /// WebSocket connection request.
 | 
			
		||||
    /// Gets the values of the Sec-WebSocket-Protocol header included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <remarks>
 | 
			
		||||
    /// This property represents the subprotocols requested from the client.
 | 
			
		||||
    /// This property represents the subprotocols requested by the client.
 | 
			
		||||
    /// </remarks>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// An IEnumerable<string> that contains the values of the
 | 
			
		||||
    /// Sec-WebSocket-Protocol header field.
 | 
			
		||||
    /// An IEnumerable<string> that contains the values of the Sec-WebSocket-Protocol header.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override IEnumerable<string> SecWebSocketProtocols {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -267,15 +251,13 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the value of the Sec-WebSocket-Version header field used in the
 | 
			
		||||
    /// WebSocket connection request.
 | 
			
		||||
    /// Gets the value of the Sec-WebSocket-Version header included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <remarks>
 | 
			
		||||
    /// This property represents the WebSocket protocol version of the connection.
 | 
			
		||||
    /// This property represents the WebSocket protocol version.
 | 
			
		||||
    /// </remarks>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="string"/> that represents the value of the
 | 
			
		||||
    /// Sec-WebSocket-Version header field.
 | 
			
		||||
    /// A <see cref="string"/> that represents the value of the Sec-WebSocket-Version header.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public override string SecWebSocketVersion {
 | 
			
		||||
      get {
 | 
			
		||||
@@ -296,8 +278,7 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the client information (identity, authentication information and
 | 
			
		||||
    /// security roles).
 | 
			
		||||
    /// Gets the client information (identity, authentication, and security roles).
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="IPrincipal"/> that represents the client information.
 | 
			
		||||
@@ -321,8 +302,8 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the WebSocket instance used for two-way communication between client
 | 
			
		||||
    /// and server.
 | 
			
		||||
    /// Gets the <see cref="WebSocketSharp.WebSocket"/> instance used for two-way communication
 | 
			
		||||
    /// between client and server.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="WebSocketSharp.WebSocket"/>.
 | 
			
		||||
@@ -369,8 +350,7 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
      var res = new HandshakeResponse (HttpStatusCode.Unauthorized);
 | 
			
		||||
      res.Headers ["WWW-Authenticate"] = challenge;
 | 
			
		||||
      _stream.WriteHandshake (res);
 | 
			
		||||
      _request = _stream.ReadHandshake<HandshakeRequest> (
 | 
			
		||||
        HandshakeRequest.Parse, 15000);
 | 
			
		||||
      _request = _stream.ReadHandshake<HandshakeRequest> (HandshakeRequest.Parse, 15000);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    internal void SetUser (
 | 
			
		||||
 
 | 
			
		||||
@@ -127,10 +127,10 @@ namespace WebSocketSharp.Net.WebSockets
 | 
			
		||||
    public abstract string Path { get; }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Gets the collection of query string variables included in the request.
 | 
			
		||||
    /// Gets the query string variables included in the request.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <value>
 | 
			
		||||
    /// A <see cref="NameValueCollection"/> that contains the collection of query string variables.
 | 
			
		||||
    /// A <see cref="NameValueCollection"/> that contains the query string variables.
 | 
			
		||||
    /// </value>
 | 
			
		||||
    public abstract NameValueCollection QueryString { get; }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user