Beispiel #1
0
		public void ScgiServerConstructorTest()
		{
			string BindIp = "127.0.0.1";
			int BindPort = NetworkUtilities.GetAvailableTcpPort();
			var ScgiServer = new TestScgiServer(BindIp, BindPort);
			ScgiServer.Listen();
			new Thread(ScgiServer.AcceptLoop).Start();

			var TcpClient = new TcpClient(BindIp, BindPort);
			var TcpClientStream = TcpClient.GetStream();
			var HeaderStream = new MemoryStream().PreservePositionAndLock((Stream) =>
			{
				Stream.WriteStringzPair("CONTENT_LENGTH", "0");
				Stream.WriteStringzPair("SCGI", "1");
				Stream.WriteStringzPair("REQUEST_METHOD", "GET");
				Stream.WriteStringzPair("REQUEST_URI", "/test");
			});
			TcpClientStream.WriteString(HeaderStream.Length + ":");
			TcpClientStream.WriteBytes(HeaderStream.ToArray());
			TcpClientStream.WriteByte((byte)',');
			Assert.IsTrue(ScgiServer.HandleRequestEvent.WaitOne(1000));
		}
        public void ScgiServerConstructorTest()
        {
            string BindIp     = "127.0.0.1";
            int    BindPort   = NetworkUtilities.GetAvailableTcpPort();
            var    ScgiServer = new TestScgiServer(BindIp, BindPort);

            ScgiServer.Listen();
            new Thread(ScgiServer.AcceptLoop).Start();

            var TcpClient       = new TcpClient(BindIp, BindPort);
            var TcpClientStream = TcpClient.GetStream();
            var HeaderStream    = new MemoryStream().PreservePositionAndLock((Stream) =>
            {
                Stream.WriteStringzPair("CONTENT_LENGTH", "0");
                Stream.WriteStringzPair("SCGI", "1");
                Stream.WriteStringzPair("REQUEST_METHOD", "GET");
                Stream.WriteStringzPair("REQUEST_URI", "/test");
            });

            TcpClientStream.WriteString(HeaderStream.Length + ":");
            TcpClientStream.WriteBytes(HeaderStream.ToArray());
            TcpClientStream.WriteByte((byte)',');
            Assert.IsTrue(ScgiServer.HandleRequestEvent.WaitOne(1000));
        }