Exemple #1
0
        public Session SendRequest(string sRequest, StringDictionary oNewFlags)
        {
            int num;
            int num2;
            HTTPHeaderParseWarnings warnings;

            byte[] buffer2;
            byte[] bytes = CONFIG.oHeaderEncoding.GetBytes(sRequest);
            if (!Parser.FindEntityBodyOffsetFromArray(bytes, out num, out num2, out warnings))
            {
                throw new ArgumentException("sRequest did not represent a valid HTTP request", "sRequest");
            }
            string             sHeaders = CONFIG.oHeaderEncoding.GetString(bytes, 0, num) + "\r\n\r\n";
            HTTPRequestHeaders oHeaders = new HTTPRequestHeaders();

            if (!oHeaders.AssignFromString(sHeaders))
            {
                throw new ArgumentException("sRequest did not contain valid HTTP headers", "sRequest");
            }
            if (1 > (bytes.Length - num2))
            {
                buffer2 = new byte[0];
            }
            else
            {
                buffer2 = new byte[bytes.Length - num2];
                Buffer.BlockCopy(bytes, num2, buffer2, 0, buffer2.Length);
            }
            return(this.SendRequest(oHeaders, buffer2, oNewFlags));
        }
Exemple #2
0
        public Session SendRequest(string sRequest, StringDictionary oNewFlags)
        {
            byte[] bytes = CONFIG.oHeaderEncoding.GetBytes(sRequest);
            int    count;
            int    num;
            HTTPHeaderParseWarnings hTTPHeaderParseWarnings;

            if (!Parser.FindEntityBodyOffsetFromArray(bytes, out count, out num, out hTTPHeaderParseWarnings))
            {
                throw new ArgumentException("sRequest did not represent a valid HTTP request", "sRequest");
            }
            string             sHeaders           = CONFIG.oHeaderEncoding.GetString(bytes, 0, count) + "\r\n\r\n";
            HTTPRequestHeaders hTTPRequestHeaders = new HTTPRequestHeaders();

            if (!hTTPRequestHeaders.AssignFromString(sHeaders))
            {
                throw new ArgumentException("sRequest did not contain valid HTTP headers", "sRequest");
            }
            byte[] array;
            if (1 > bytes.Length - num)
            {
                array = Utilities.emptyByteArray;
            }
            else
            {
                array = new byte[bytes.Length - num];
                Buffer.BlockCopy(bytes, num, array, 0, array.Length);
            }
            return(this.SendRequest(hTTPRequestHeaders, array, oNewFlags));
        }