public IHttpResponse Request(IHttpRequest request) { var socket = _conn.Connect(request.Target, Timeout); var Tx = new StreamWriter(socket); Tx.Write(request.RequestHead()); Tx.Flush(); if (request.DataStream != null) { if (request.DataLength > 0) { ExpectedLengthStream.CopyBytesToLength(request.DataStream, socket, request.DataLength); } else { ExpectedLengthStream.CopyBytesToTimeout(request.DataStream, socket); } } socket.Flush(); return(_parser.Parse(socket)); }