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; }