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); }
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); }
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; }