|
|
|
@ -72,7 +72,9 @@ namespace WebSocketSharp {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string HttpMethod { get; private set; }
|
|
|
|
public string HttpMethod {
|
|
|
|
|
|
|
|
get; private set;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public bool IsWebSocketRequest {
|
|
|
|
public bool IsWebSocketRequest {
|
|
|
|
get {
|
|
|
|
get {
|
|
|
|
@ -80,15 +82,15 @@ namespace WebSocketSharp {
|
|
|
|
? false
|
|
|
|
? false
|
|
|
|
: ProtocolVersion < HttpVersion.Version11
|
|
|
|
: ProtocolVersion < HttpVersion.Version11
|
|
|
|
? false
|
|
|
|
? false
|
|
|
|
: !HeaderExists("Upgrade", "websocket")
|
|
|
|
: !ContainsHeader("Upgrade", "websocket")
|
|
|
|
? false
|
|
|
|
? false
|
|
|
|
: !HeaderExists("Connection", "Upgrade")
|
|
|
|
: !ContainsHeader("Connection", "Upgrade")
|
|
|
|
? false
|
|
|
|
? false
|
|
|
|
: !HeaderExists("Host")
|
|
|
|
: !ContainsHeader("Host")
|
|
|
|
? false
|
|
|
|
? false
|
|
|
|
: !HeaderExists("Sec-WebSocket-Key")
|
|
|
|
: !ContainsHeader("Sec-WebSocket-Key")
|
|
|
|
? false
|
|
|
|
? false
|
|
|
|
: HeaderExists("Sec-WebSocket-Version");
|
|
|
|
: ContainsHeader("Sec-WebSocket-Version");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -128,7 +130,9 @@ namespace WebSocketSharp {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public Uri RequestUri { get; private set; }
|
|
|
|
public Uri RequestUri {
|
|
|
|
|
|
|
|
get; private set;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
@ -167,11 +171,11 @@ namespace WebSocketSharp {
|
|
|
|
|
|
|
|
|
|
|
|
public void SetCookies(CookieCollection cookies)
|
|
|
|
public void SetCookies(CookieCollection cookies)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (cookies.IsNull() || cookies.Count == 0)
|
|
|
|
if (cookies == null || cookies.Count == 0)
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
var sorted = cookies.Sorted.ToArray();
|
|
|
|
var sorted = cookies.Sorted.ToArray();
|
|
|
|
var header = new StringBuilder(sorted[0].ToString());
|
|
|
|
var header = new StringBuilder(sorted[0].ToString(), 64);
|
|
|
|
for (int i = 1; i < sorted.Length; i++)
|
|
|
|
for (int i = 1; i < sorted.Length; i++)
|
|
|
|
if (!sorted[i].Expired)
|
|
|
|
if (!sorted[i].Expired)
|
|
|
|
header.AppendFormat("; {0}", sorted[i].ToString());
|
|
|
|
header.AppendFormat("; {0}", sorted[i].ToString());
|
|
|
|
@ -181,12 +185,12 @@ namespace WebSocketSharp {
|
|
|
|
|
|
|
|
|
|
|
|
public override string ToString()
|
|
|
|
public override string ToString()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var buffer = new StringBuilder();
|
|
|
|
var buffer = new StringBuilder(64);
|
|
|
|
buffer.AppendFormat("{0} {1} HTTP/{2}{3}", HttpMethod, RawUrl, ProtocolVersion, _crlf);
|
|
|
|
buffer.AppendFormat("{0} {1} HTTP/{2}{3}", HttpMethod, RawUrl, ProtocolVersion, CrLf);
|
|
|
|
foreach (string key in Headers.AllKeys)
|
|
|
|
foreach (string key in Headers.AllKeys)
|
|
|
|
buffer.AppendFormat("{0}: {1}{2}", key, Headers[key], _crlf);
|
|
|
|
buffer.AppendFormat("{0}: {1}{2}", key, Headers[key], CrLf);
|
|
|
|
|
|
|
|
|
|
|
|
buffer.Append(_crlf);
|
|
|
|
buffer.Append(CrLf);
|
|
|
|
return buffer.ToString();
|
|
|
|
return buffer.ToString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|