Fix for HTTP auth
This commit is contained in:
parent
a2713c4df2
commit
3970e9917d
@ -30,9 +30,9 @@ namespace Example2
|
||||
wssv.AuthenticationSchemes = AuthenticationSchemes.Basic;
|
||||
wssv.Realm = "WebSocket Test";
|
||||
wssv.UserCredentialsFinder = identity => {
|
||||
var name = identity.Name;
|
||||
return name == "nobita"
|
||||
? new NetworkCredential (name, "password")
|
||||
var expected = "nobita";
|
||||
return identity.Name == expected
|
||||
? new NetworkCredential (expected, "password", "gunfighter")
|
||||
: null;
|
||||
};
|
||||
*/
|
||||
|
@ -30,9 +30,9 @@ namespace Example3
|
||||
_httpsv.AuthenticationSchemes = AuthenticationSchemes.Basic;
|
||||
_httpsv.Realm = "WebSocket Test";
|
||||
_httpsv.UserCredentialsFinder = identity => {
|
||||
var name = identity.Name;
|
||||
return name == "nobita"
|
||||
? new NetworkCredential (name, "password")
|
||||
var expected = "nobita";
|
||||
return identity.Name == expected
|
||||
? new NetworkCredential (expected, "password", "gunfighter")
|
||||
: null;
|
||||
};
|
||||
*/
|
||||
|
@ -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 (
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user