Refactored TcpListenerWebSocketContext.cs

This commit is contained in:
sta 2014-02-22 16:21:55 +09:00
parent b3e8708f85
commit fa33e71611
3 changed files with 40 additions and 60 deletions

View File

@ -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 {

View File

@ -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&lt;string&gt; that contains the values of the
/// Sec-WebSocket-Protocol header field.
/// An IEnumerable&lt;string&gt; 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 (

View File

@ -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; }