public static HttpRequest ReadFromStreamWithoutClosing(Stream stream)
        {
            var request = new HttpRequest();
            var streamReader = new StreamReader(stream);

            request.StartingLine = streamReader.ReadLine();

            request.Headers = ReadHeaders(streamReader);

            var contentLength = GetContentLength(request.Headers);
            request.MessageBody = contentLength != 0 ? ReadContent(streamReader, contentLength) : string.Empty;

            return request;
        }