internal static bool ParseNVPHeaders(HTTPHeaders oHeaders, string[] sHeaderLines, int iStartAt, ref string sErrors) { bool result = true; int i = iStartAt; while (i < sHeaderLines.Length) { int num = sHeaderLines[i].IndexOf(':'); HTTPHeaderItem hTTPHeaderItem; if (num > 0) { hTTPHeaderItem = oHeaders.Add(sHeaderLines[i].Substring(0, num), sHeaderLines[i].Substring(num + 1).TrimStart(new char[] { ' ', '\t' })); } else { if (num == 0) { hTTPHeaderItem = null; sErrors += string.Format("Missing Header name #{0}, {1}\n", 1 + i - iStartAt, sHeaderLines[i]); result = false; } else { hTTPHeaderItem = oHeaders.Add(sHeaderLines[i], string.Empty); sErrors += string.Format("Missing colon in header #{0}, {1}\n", 1 + i - iStartAt, sHeaderLines[i]); result = false; } } i++; bool flag = hTTPHeaderItem != null && i < sHeaderLines.Length && Parser.IsPrefixedWithWhitespace(sHeaderLines[i]); while (flag) { FiddlerApplication.Log.LogString("[HTTPWarning] Header folding detected. Not all clients properly handle folded headers."); hTTPHeaderItem.Value = hTTPHeaderItem.Value + " " + sHeaderLines[i].TrimStart(new char[] { ' ', '\t' }); i++; flag = (i < sHeaderLines.Length && Parser.IsPrefixedWithWhitespace(sHeaderLines[i])); } } return(result); }
internal static bool ParseNVPHeaders(HTTPHeaders oHeaders, string[] sHeaderLines, int iStartAt, ref string sErrors) { bool flag = true; for (int i = iStartAt; i < sHeaderLines.Length; i++) { int index = sHeaderLines[i].IndexOf(':'); if (index > 0) { oHeaders.Add(sHeaderLines[i].Substring(0, index), sHeaderLines[i].Substring(index + 1).Trim()); } else { sErrors = sErrors + string.Format("Missing colon in header #{0}, {1}\n", i - iStartAt, sHeaderLines[i]); flag = false; } } return(flag); }
internal static bool ParseNVPHeaders(HTTPHeaders oHeaders, string[] sHeaderLines, int iStartAt, ref string sErrors) { bool flag = true; int index = iStartAt; HTTPHeaderItem item = null; while (index < sHeaderLines.Length) { int length = sHeaderLines[index].IndexOf(':'); if (length > 0) { item = oHeaders.Add(sHeaderLines[index].Substring(0, length), sHeaderLines[index].Substring(length + 1).TrimStart(new char[] { ' ', '\t' })); } else if (length == 0) { item = null; sErrors = sErrors + string.Format("Missing Header name #{0}, {1}\n", (1 + index) - iStartAt, sHeaderLines[index]); flag = false; } else { item = oHeaders.Add(sHeaderLines[index], string.Empty); sErrors = sErrors + string.Format("Missing colon in header #{0}, {1}\n", (1 + index) - iStartAt, sHeaderLines[index]); flag = false; } index++; for (bool flag2 = ((item != null) && (index < sHeaderLines.Length)) && IsPrefixedWithWhitespace(sHeaderLines[index]); flag2; flag2 = (index < sHeaderLines.Length) && IsPrefixedWithWhitespace(sHeaderLines[index])) { FiddlerApplication.Log.LogString("[HTTPWarning] Header folding detected. Not all clients properly handle folded headers."); item.Value = item.Value + " " + sHeaderLines[index].TrimStart(new char[] { ' ', '\t' }); index++; } } return flag; }