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