static public void TestTunnelData() { // Test binary tunneling byte[] data = { 1, 2, 3 }; using (var hs = new HttpSocket( new EchoSocket(false, data).socket)) { // We tunnel data... to ourselves! hs.TunnelDataTo(hs, 3); uint r = hs.ReadBinary(); Assert.AreEqual(3, r); Assert.AreEqual(1, hs.Buffer[0]); Assert.AreEqual(2, hs.Buffer[1]); Assert.AreEqual(3, hs.Buffer[2]); } // Test the mixing of line-based and raw-based tunneling byte[] data2 = { (byte)'A', 13, 10, 42, 42, (byte)'B', 13, 10 }; using (var hs = new HttpSocket( new EchoSocket(false, data2).socket)) { // Ditto hs.TunnelDataTo(hs, (uint)data2.Length); string msgA = hs.ReadAsciiLine(); Assert.AreEqual("A", msgA); hs.TunnelDataTo(hs, 2); string msgB = hs.ReadAsciiLine(); Assert.AreEqual("B", msgB); } }
public static void TestHttpResponseBinary() { // Test the mixing of line-based and raw-based reads var msg = "123"; var http_msg = "HTTP/1.0 200 OK\r\n\r\n" + msg; using (var hs = new HttpSocket( new EchoSocket(false, http_msg).socket)) { var hsl = new HttpStatusLine(hs); Assert.AreEqual(200, hsl.StatusCode); /*var hh = */new HttpHeaders(hs); uint r = hs.ReadBinary(); Assert.AreEqual(r, 3); Assert.AreEqual('1', hs.Buffer[0]); Assert.AreEqual('2', hs.Buffer[1]); Assert.AreEqual('3', hs.Buffer[2]); } }
static public void TestHttpResponseBinary() { // Test the mixing of line-based and raw-based reads var msg = "123"; var http_msg = "HTTP/1.0 200 OK\r\n\r\n" + msg; using (var hs = new HttpSocket( new EchoSocket(false, http_msg).socket)) { var hsl = new HttpStatusLine(hs); Assert.AreEqual(200, hsl.StatusCode); /*var hh = */ new HttpHeaders(hs); uint r = hs.ReadBinary(); Assert.AreEqual(r, 3); Assert.AreEqual('1', hs.Buffer[0]); Assert.AreEqual('2', hs.Buffer[1]); Assert.AreEqual('3', hs.Buffer[2]); } }
public static void TestTunnelData() { // Test binary tunneling byte[] data = { 1, 2, 3 }; using (var hs = new HttpSocket( new EchoSocket(false, data).socket)) { // We tunnel data... to ourselves! hs.TunnelDataTo(hs, 3); uint r = hs.ReadBinary(); Assert.AreEqual(3, r); Assert.AreEqual(1, hs.Buffer[0]); Assert.AreEqual(2, hs.Buffer[1]); Assert.AreEqual(3, hs.Buffer[2]); } // Test the mixing of line-based and raw-based tunneling byte[] data2 = { (byte)'A', 13, 10, 42, 42, (byte)'B', 13, 10 }; using (var hs = new HttpSocket( new EchoSocket(false, data2).socket)) { // Ditto hs.TunnelDataTo(hs, (uint)data2.Length); string msgA = hs.ReadAsciiLine(); Assert.AreEqual("A", msgA); hs.TunnelDataTo(hs, 2); string msgB = hs.ReadAsciiLine(); Assert.AreEqual("B", msgB); } }