public void AddField(string text)
        {
            HttpField field = new HttpField();

            field.Parse(text);
            Fields.Add(field.Name, field);
        }
 void ParseField(string lineData)
 {
     try
     {
         if (firstField)
         {
             ParseFirstField(lineData);
             firstField = false;
         }
         else
         {
             HttpField field = new HttpField();
             field.Parse(lineData);
             currentMessage.AddField(field);
         }
     }
     catch (Exception err)
     {
         throw new BadHttpException(lineData, err);
     }
 }
        void ParseLineMultipart(byte[] lineBytes)
        {
            string line = currentMessage.ContentTransferEncoding.GetString(lineBytes, 0, lineBytes.Length - 2);

            if (line == currentMessage.GetBoundaryStart())
            {
                if (currentBodyMultipart != null)
                {
                    AddCurrentBodyToRequest(lineBytes.Length + 2);
                }

                currentBodyMultipart       = currentMessage.CreateBody();
                currentBodyMultipart.state = 0;
            }
            else if (line == currentMessage.GetBoundaryEnd())
            {
                if (currentBodyMultipart != null)
                {
                    AddCurrentBodyToRequest(lineBytes.Length + 2);
                }

                // currentBodyMultipart.streamContent.Se

                // currentMessage.Body.IsCompleted = true;
                currentMessage.IsCompleted = true;
                firstField  = true;
                pendingHead = true;
            }
            else if (line == "" && currentBodyMultipart.state == 0)
            {
                currentBodyMultipart.state = 1;
            }
            else if (line != "" && currentBodyMultipart.state == 0)
            {
                HttpField field = new HttpField();
                field.Parse(line);

                currentBodyMultipart.Fields.Add(field.Name, field);
            }
        }