Example #1
0
        public void HandleClient(TcpClient tcpClient)
        {
            Stream      inputStream  = GetInputStream(tcpClient);
            Stream      outputStream = GetOutputStream(tcpClient);
            HttpRequest request      = GetRequest(inputStream, outputStream);

            #region Мои изменения.
            // string s = request.
            // RequestContent?.Invoke(request.Content);
            RequestContent?.Invoke(request);
            #endregion

            // направить и обработать запрос... (route and handle the request...)
            HttpResponse response = RouteRequest(inputStream, outputStream, request);


            // *
            //    Console.WriteLine("{0} {1}",response.StatusCode,request.Url);
            // построить ответ по умолчанию для ошибок (build a default response for errors)
            if (response.Content == null)
            {
                if (response.StatusCode != "200")
                {
                    response.ContentAsUTF8 = string.Format("{0} {1} <p> {2}", response.StatusCode, request.Url, response.ReasonPhrase);
                }
            }

            WriteResponse(outputStream, response);

            outputStream.Flush();
            outputStream.Close();
            outputStream = null;

            inputStream.Close();
            inputStream = null;
        }