示例#1
0
        public HTTPContent(PDUStreamReader reader, TransferCoding coding, string contentLen = "0")
        {
            var sb = new StringBuilder();

            switch (coding)
            {
            case TransferCoding.CHUNKED:

                ParseChunk(reader, sb);
                break;

            default:
                var readed = 0;
                var dLen   = Convert.ToInt32(contentLen);
                var dt     = new char[dLen];
                while (true)
                {
                    var len = reader.Read(dt, readed, dLen - readed);
                    readed += len;
                    if (readed == dLen)
                    {
                        break;
                    }
                    if (len == 0)
                    {
                        break;
                    }
                }
                sb.Append(dt);
                break;
            }

            this.Content = Encoding.GetEncoding(437).GetBytes(sb.ToString());
        }
示例#2
0
        public void TestParseTransferEncodingMultipleValues(string value1, string value2, TransferCoding expectedTransferEncodingOptions)
        {
            var transferEncoding        = new StringValues(new[] { value1, value2 });
            var transferEncodingOptions = HttpHeaders.GetFinalTransferCoding(transferEncoding);

            Assert.Equal(expectedTransferEncodingOptions, transferEncodingOptions);
        }
示例#3
0
        public void TestParseTransferEncoding(string transferEncoding, TransferCoding expectedTransferEncodingOptions)
        {
            var transferEncodingOptions = HttpHeaders.GetFinalTransferCoding(transferEncoding);

            Assert.Equal(expectedTransferEncodingOptions, transferEncodingOptions);
        }