Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }