public static void threadDoWork() { TcpClient client = null; bool firstRun = true; CS422.WebRequest request = null; while (client != null || firstRun == true) { if (firstRun == true) { firstRun = false; } client = cList.Take(); if (client != null) { request = WebServer.BuildRequest(client); if (request != null) { // good request and client so just find a handler for it // for(int i = 0; i < services.Count; i++) // { // if(request.requestTarget.StartsWith(services[i].ServiceURI)) // { // services[i].Handler(request); // break; // } // } foreach (var x in services) { if (request.requestTarget.StartsWith(x.ServiceURI)) { x.Handler(request); break; } } } else { Console.WriteLine("bad request, connection closed"); client.GetStream().Close(); client.Close(); } } } }