private bool CheckIfBodyAndAdd(WebServer.Server.Request request, string body, Stream sslStream) { Console.WriteLine("Before body check"); bool timeout = false; body = body.Trim(); Console.WriteLine("Content-Length: " + request.GetHeader("content-length") + " Body: " + body + "<- body end"); if (request.GetHeader("content-length") != null && Convert.ToInt32(request.GetHeader("content-length")) > 0 && String.IsNullOrEmpty(body)) { while (!Client.GetStream().DataAvailable) { if (Timer.ElapsedMilliseconds > TimeoutMS || !Client.Connected) { timeout = true; break; } } Console.WriteLine("Before read body"); body = Encoding.UTF8.GetString(StreamToByteArray(((sslStream != null) ? (System.IO.Stream)sslStream : Client.GetStream()), Client.Available)); } request.Body = body; return !timeout; }