コード例 #1
0
        internal string GetCookieHeader()
        {
            var sb    = ReseekableStringBuilder.AcquirePooledStringBuilder();
            var first = true;

            if (!string.IsNullOrEmpty(Cookies))
            {
                sb.Append(Cookies);
                first = false;
            }

            if (CookiesList != null)
            {
                foreach (var item in CookiesList)
                {
                    if (!first)
                    {
                        sb.Append("; ");
                    }
                    sb.Append(item.Name);
                    sb.Append('=');
                    sb.Append(HttpExtensionMethods.ToString(item.Value));
                    first = false;
                }
            }

            return(ReseekableStringBuilder.GetValueAndRelease(sb));
        }
コード例 #2
0
        public async Task <HttpResponseMessage> GetResponseAsync(long startPosition)
        {
            if (partialDownload != null && startPosition == 0)
            {
                var c = partialDownload;
                partialDownload = null;
                return(c);
            }
            var options = new WebRequestOptions()
            {
                Timeout = 30000,
                TimeoutSecondRetrialAfterError = 10000,
                TimeoutStartSecondRetrial      = null
            };
            var url = new LazyUri(this.Url);

            HttpExtensionMethods.ProcessMetaParameters(url, options);
            if (startPosition != 0)
            {
                options.AddHeader("Range", "bytes=" + startPosition + "-");
            }
            var response = await HttpExtensionMethods.GetResponseAsync(url, options);

            SaveResponseInfo(response, null);

            return(response);
            //return (await HttpExtensionMethods.SendAsync(url, options, null)).Response;
        }
コード例 #3
0
 public WebRequestOptions AddPostField(string name, int value)
 {
     return(AddPostField(name, (object)HttpExtensionMethods.ToString(value)));
 }