internal static bool IsChunkedBodyComplete(MemoryStream objData, int intEntityBodyOffset) { int num3; for (var i = intEntityBodyOffset; i < objData.Length; i += num3 + 2) { objData.Position = i; var buffer = new byte[0x20]; objData.Read(buffer, 0, buffer.Length); var strInput = Russian.Codepage.GetString(buffer); var index = strInput.IndexOf("\r\n", StringComparison.Ordinal); if (index > -1) { i += index + 2; strInput = strInput.Substring(0, index); } else { return(false); } index = strInput.IndexOf(';'); if (index > -1) { strInput = strInput.Substring(0, index); } if (!HelperConverters.TryHexParse(strInput, out num3)) { return(true); } if (num3 != 0) { continue; } objData.Position = objData.Length; return(true); } objData.Position = objData.Length; return(false); }
internal static void CrackHostAndPort(string strHostPort, out string strHost, ref int intPort) { var length = strHostPort.LastIndexOf(':'); if ((length > -1) && (length > strHostPort.LastIndexOf("]", StringComparison.Ordinal))) { if (!HelperConverters.TryIntParse(strHostPort.Substring(length + 1), out intPort)) { intPort = 0; } strHost = strHostPort.Substring(0, length); } else { strHost = strHostPort; } if (strHost.StartsWith("[", StringComparison.Ordinal) && strHost.EndsWith("]", StringComparison.Ordinal)) { strHost = strHost.Substring(1, strHost.Length - 2); } }