Esempio n. 1
0
        public VerifyFeedback Verify(string url, FileInfo info)
        {
            if (VerboseCallback != null)
            {
                VerboseCallback("VERIFYING...");
            }
            var headers = new WebHeaderCollection()
            {
                { "Authorization", String.Format("Bearer {0}", AccessToken) },
                { "Content-Range", String.Format("bytes */{0}", info.Length.ToString()) }
            };

            string[] responseHeaders = null;
            Core.HTTPFetch(url, "PUT", headers, "", out responseHeaders, contentType: null);
            bool responseOK = responseHeaders.Length > 0 && responseHeaders[0].Contains(" 20");

            VerifyFeedback v = new VerifyFeedback();

            if (VerboseCallback != null)
            {
                VerboseCallback("VERIFY FEEDBACK: " + responseOK);
            }
            if (responseOK)
            {
                v.LastByte = v.ContentSize; //Meaning upload is successful
            }
            else
            {
                try
                {
                    //Range: bytes=0-999999
                    foreach (var item in responseHeaders)
                    {
                        if (item.StartsWith("Range:"))
                        {
                            var s        = item.Split(':')[1].Trim();
                            var rangestr = s.Split('=')[1].Split('-');
                            v.FirstByte = long.Parse(rangestr[0]);
                            v.LastByte  = long.Parse(rangestr[1]);
                        }
                    }
                }
                catch
                {
                    //Range header not found.
                    v.FirstByte = 0;
                    v.LastByte  = 0;
                }
            }

            foreach (string item in responseHeaders)
            {
                Debug.WriteLine(item);
            }

            return(v);
        }
Esempio n. 2
0
        protected static VerifyFeedback Verify(string url)
        {
            WebHeaderCollection headers = new WebHeaderCollection();

            headers.Add("Content-Range: bytes */*");

            string[] responseHeaders;
            Core.HTTPFetch(url, "PUT", headers, "", out responseHeaders);

            VerifyFeedback v = new VerifyFeedback();

            foreach (var item in responseHeaders)
            {
                if (item.StartsWith("Range:"))
                {
                    var s        = item.Split(':')[1].Trim();
                    var rangestr = s.Split('=')[1].Split('-');
                    v.FirstByte = long.Parse(rangestr[0]);
                    v.LastByte  = long.Parse(rangestr[1]);
                }
            }

            return(v);
        }
Esempio n. 3
0
        protected static VerifyFeedback Verify(string url)
        {
            WebHeaderCollection headers = new WebHeaderCollection();
            headers.Add("Content-Range: bytes */*");

            string[] responseHeaders;
            Core.HTTPFetch(url, "PUT", headers, "", out responseHeaders);

            VerifyFeedback v = new VerifyFeedback();
            foreach (var item in responseHeaders)
            {
                if (item.StartsWith("Range:"))
                {
                    var s = item.Split(':')[1].Trim();
                    var rangestr = s.Split('=')[1].Split('-');
                    v.FirstByte = long.Parse(rangestr[0]);
                    v.LastByte = long.Parse(rangestr[1]);
                }
            }

            return v;
        }