Example #1
0
        //protected abstract void ReadResponse(Socket socket);
        protected virtual void ReadResponse(Socket socket)
        {
            bool hasMoreLines;
            do
            {
                var line = socket.ReceiveLine();

                hasMoreLines = false;
                if(MultiLineResponse)
                {
                    if(line.StartsWith(string.Format("{0} ", ResponseCode.ToString().PadLeft(3, '0'))))
                    {
                        line = "   " + line.Substring(3);
                    }
                    else
                    {
                        hasMoreLines = true;
                    }
                }

                ResponseLines.Add(line);
            } while (hasMoreLines);

            TraceHelper.WriteLine(string.Join("\n", ResponseLines));
        }