private void RequestProcess(TcpClient newClient) { var clientRequest = ReadClientRequest(newClient); Console.WriteLine("%%%%%%%%%%%%%%%% Новый запрос %%%%%%%%%%%%%%%%"); Console.WriteLine(clientRequest); Console.WriteLine("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"); var parser = new ParserHttpHeader(clientRequest); if (parser.Route == "/Guestbook/") { if (parser.RequestType == RequestType.Get) { // возвращаем все записи из гостевой книги ReturnAllMessage(newClient, _storage.GetAll()); } else if (parser.RequestType == RequestType.Post) { // если есть user и message то пишем их или в БД или в XML if (parser.Data.ContainsKey("user") && parser.Data.ContainsKey("message")) { // todo нужно обработать соосбщения на наличие sql injection _storage.AddMessage(parser.Data["user"], parser.Data["message"]); } } } else if (parser.Route == "/Proxy/") { // todo нужно загрузить данные из переданного url и вернуть их в ответе if (parser.Data.ContainsKey("url")) { // загрузим страницу var url = parser.Data["url"]; string htmlString; using (var webClient = new WebClient()) { //webClient.UseDefaultCredentials = true; //webClient.Proxy = WebRequest.GetSystemWebProxy(); htmlString = webClient.DownloadString(url); } // отправим ее пользователю ReturnString(newClient, htmlString); } } else { // стандартное приветствие ReturnHTMLHelloWorld(newClient); } newClient.Close(); }