[Modify] Polish it

This commit is contained in:
sta 2020-10-26 21:45:41 +09:00
parent b711565a34
commit 9dcf1cb427

View File

@ -254,6 +254,7 @@ namespace WebSocketSharp.Net
private static void onRead (IAsyncResult asyncResult)
{
var conn = (HttpConnection) asyncResult.AsyncState;
if (conn._socket == null)
return;
@ -263,29 +264,35 @@ namespace WebSocketSharp.Net
var nread = -1;
var len = 0;
try {
var current = conn._reuses;
if (!conn._timeoutCanceled[current]) {
conn._timer.Change (Timeout.Infinite, Timeout.Infinite);
conn._timeoutCanceled[current] = true;
}
nread = conn._stream.EndRead (asyncResult);
conn._requestBuffer.Write (conn._buffer, 0, nread);
len = (int) conn._requestBuffer.Length;
}
catch (Exception ex) {
if (conn._requestBuffer != null && conn._requestBuffer.Length > 0) {
conn.SendError (ex.Message, 400);
return;
}
conn.close ();
return;
}
if (nread <= 0) {
conn.close ();
return;
}
@ -295,19 +302,24 @@ namespace WebSocketSharp.Net
if (conn._context.HasError) {
conn.SendError ();
return;
}
HttpListener lsnr;
if (!conn._listener.TrySearchHttpListener (conn._context.Request.Url, out lsnr)) {
conn.SendError (null, 404);
return;
}
if (conn._lastListener != lsnr) {
conn.removeConnection ();
if (!lsnr.AddConnection (conn)) {
conn.close ();
return;
}
@ -315,6 +327,7 @@ namespace WebSocketSharp.Net
}
conn._context.Listener = lsnr;
if (!conn._context.Authenticate ())
return;