Fix for HTTP auth

This commit is contained in:
sta
2014-01-27 15:39:27 +09:00
parent a2713c4df2
commit 3970e9917d
4 changed files with 15 additions and 13 deletions

View File

@@ -64,7 +64,8 @@ namespace WebSocketSharp.Net.WebSockets
_client = client;
_secure = secure;
_stream = WsStream.CreateServerStream (client, cert, secure);
_request = _stream.ReadHandshakeRequest ();
_request = _stream.ReadHandshake<HandshakeRequest> (
HandshakeRequest.Parse, 90000);
_websocket = new WebSocket (this, logger);
}
@@ -365,7 +366,8 @@ namespace WebSocketSharp.Net.WebSockets
var res = new HandshakeResponse (HttpStatusCode.Unauthorized);
res.Headers ["WWW-Authenticate"] = challenge;
_stream.WriteHandshake (res);
_request = _stream.ReadHandshakeRequest ();
_request = _stream.ReadHandshake<HandshakeRequest> (
HandshakeRequest.Parse, 15000);
}
internal void SetUser (

View File

@@ -43,7 +43,6 @@ namespace WebSocketSharp
#region Private Const Fields
private const int _handshakeHeadersLimitLen = 8192;
private const int _handshakeTimeout = 90000;
#endregion
@@ -183,7 +182,8 @@ namespace WebSocketSharp
return new WsStream (conn.Stream, conn.IsSecure);
}
internal T ReadHandshake<T> (Func<string [], T> parser)
internal T ReadHandshake<T> (
Func<string [], T> parser, int millisecondsTimeout)
where T : HandshakeBase
{
var timeout = false;
@@ -193,7 +193,7 @@ namespace WebSocketSharp
_innerStream.Close ();
},
null,
_handshakeTimeout,
millisecondsTimeout,
-1);
T handshake = null;
@@ -265,12 +265,12 @@ namespace WebSocketSharp
public HandshakeRequest ReadHandshakeRequest ()
{
return ReadHandshake<HandshakeRequest> (HandshakeRequest.Parse);
return ReadHandshake<HandshakeRequest> (HandshakeRequest.Parse, 90000);
}
public HandshakeResponse ReadHandshakeResponse ()
{
return ReadHandshake<HandshakeResponse> (HandshakeResponse.Parse);
return ReadHandshake<HandshakeResponse> (HandshakeResponse.Parse, 90000);
}
public bool WriteFrame (WsFrame frame)