public void Nginx_SingleRequest() { AssertNginxInPath(); var nginx = StartNginx("ServerConfigs/NginxBasicConfig.conf"); var expectedResult = "Hello World!"; var app = new FCGIApplication(); app.OnRequestReceived += (sender, request) => { request.WriteResponseASCII("HTTP/1.1 200 OK\nContent-Type:text/html\n\n" + expectedResult); request.Close(); }; var appThread = new Thread(() => { app.Run(19000); }); appThread.Start(); var result = GetHttp("http://localhost:8182"); app.Stop(); StopNginx(nginx); Assert.AreEqual(expectedResult, result); }
public void Nginx_ManyRequests_Keepalive() { AssertNginxInPath(); var nginx = StartNginx("ServerConfigs/NginxKeepalive.conf"); var expectedResult = "Hello World!"; var app = new FCGIApplication(); app.OnRequestReceived += (sender, request) => { request.WriteResponseASCII("HTTP/1.1 200 OK\nContent-Type:text/html\n\n" + expectedResult); request.Close(); }; var appThread = new Thread(() => { app.Run(19000); }); appThread.Start(); Task<string>[] results = new Task<string>[1000]; for (int i = 0; i < results.Length; i++) { results[i] = GetHttpAsync("http://localhost:8182"); Thread.Sleep(1); } for (int i = 0; i < results.Length; i++) { results[i].Wait(20000); var result = results[i].Result; Assert.AreEqual(expectedResult, result); } StopNginx(nginx); app.Stop(); appThread.Join(500); }