fix Ext.cs, WebSocket.cs

This commit is contained in:
sta 2010-10-28 01:35:25 +09:00
parent 517fd4d8fd
commit e72bdb0954
10 changed files with 22 additions and 14 deletions

View File

@ -2,7 +2,7 @@
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug_Ubuntu" ctype="Workspace" />
<MonoDevelop.Ide.Workbench ActiveDocument="websocket-sharp/WebSocket.cs" ctype="Workbench">
<Files>
<File FileName="websocket-sharp/WebSocket.cs" Line="262" Column="15" />
<File FileName="websocket-sharp/WebSocket.cs" Line="249" Column="1" />
</Files>
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.Breakpoints>

View File

@ -34,9 +34,9 @@ namespace WebSocketSharp
{
public static class Ext
{
public static bool EqualsWithSaveTo(this int asbyte, char c, List<byte> dist)
public static bool EqualsWithSaveTo(this int asByte, char c, List<byte> dist)
{
byte b = (byte)asbyte;
byte b = (byte)asByte;
dist.Add(b);
return b == Convert.ToByte(c);
}
@ -68,17 +68,17 @@ namespace WebSocketSharp
List<char> secKey = new List<char>(mKey.ToString().ToCharArray());
int i;
for (int n = 0; n < ascii; n++)
ascii.Times( () =>
{
i = rand.Next(secKey.Count + 1);
secKey.Insert(i, rand.GeneratePrintableASCIIwithoutSPandNum());
}
} );
for (int n = 0; n < space; n++)
space.Times( () =>
{
i = rand.Next(1, secKey.Count);
secKey.Insert(i, ' ');
}
} );
return new String(secKey.ToArray());
}
@ -93,11 +93,19 @@ namespace WebSocketSharp
return bytes;
}
public static void NotEqualsDo(this string expected, string actual, Action<string, string> action)
public static void NotEqualsDo(this string expected, string actual, Action<string, string> act)
{
if (expected != actual)
{
action(expected, actual);
act(expected, actual);
}
}
public static void Times(this int n, Action act)
{
for (int i = 0; i < n; i++)
{
act();
}
}
}

View File

@ -329,17 +329,17 @@ namespace WebSocketSharp
Console.WriteLine("{0}", s);
}
#endif
Action<string, string> action = (e, a) =>
Action<string, string> act = (e, a) =>
{
throw new IOException("Invalid handshake response: " + a);
};
#if !CHALLENGE
"HTTP/1.1 101 Web Socket Protocol Handshake".NotEqualsDo(response[0], action);
"HTTP/1.1 101 Web Socket Protocol Handshake".NotEqualsDo(response[0], act);
#else
"HTTP/1.1 101 WebSocket Protocol Handshake".NotEqualsDo(response[0], action);
"HTTP/1.1 101 WebSocket Protocol Handshake".NotEqualsDo(response[0], act);
#endif
"Upgrade: WebSocket".NotEqualsDo(response[1], action);
"Connection: Upgrade".NotEqualsDo(response[2], action);
"Upgrade: WebSocket".NotEqualsDo(response[1], act);
"Connection: Upgrade".NotEqualsDo(response[2], act);
for (int i = 3; i < response.Length; i++)
{

Binary file not shown.