private IEnumerator DownloadString() { WebOp _webOp = webOp; try { UnityWebRequest webRequest = webOp.CreateWebRequest(cookies); yield return(webRequest.Send()); lock ( syncObj ) { webOp = null; } if (OnDownloadStringComplete != null) { bool cancelled = _webOp.Cancelled && webRequest.isError; Exception error = webRequest.isError ? new Exception(webRequest.error) : null; string result = webRequest.isError ? null : webRequest.downloadHandler.text; OnDownloadStringComplete(cancelled, error, result, _webOp.userState); } } finally { if (_webOp != null) { _webOp.Dispose(); } } }
private IEnumerator DownloadFile() { WebOp _webOp = webOp; try { UnityWebRequest webRequest = webOp.CreateWebRequest(cookies); webRequest.Send(); while (!webRequest.isDone) { if (OnDownloadFileProgressChange != null) { OnDownloadFileProgressChange((long)webRequest.downloadedBytes, ((ToFileDownloadHandler)webRequest.downloadHandler).ContentLength); } yield return(null); } lock ( syncObj ) { webOp = null; } bool cancelled = _webOp.Cancelled && webRequest.isError; if (!cancelled) { if (OnDownloadFileProgressChange != null) { long contentLength = ((ToFileDownloadHandler)webRequest.downloadHandler).ContentLength; OnDownloadFileProgressChange(contentLength, contentLength); } } string cookie = webRequest.GetResponseHeader("set-cookie"); if (cookie != null && cookie.Length > 0) { cookies[webRequest.url] = cookie; } if (OnDownloadFileComplete != null) { Exception error = webRequest.isError ? new Exception(webRequest.error) : null; OnDownloadFileComplete(cancelled, error, _webOp.userState); } } finally { if (_webOp != null) { _webOp.Dispose(); } } }
private IEnumerator DownloadString() { WebOp _webOp = webOp; try { Exception error = null; UnityWebRequest webRequest = null; try { webRequest = webOp.CreateWebRequest(cookies); } catch (Exception e) { error = e; webRequest = null; } if (webRequest != null) { yield return(webRequest.Send()); } lock ( syncObj ) { webOp = null; } if (OnDownloadStringComplete != null) { if (error == null) { bool cancelled = _webOp.Cancelled && webRequest.isNetworkError; error = webRequest.isNetworkError ? new Exception(webRequest.error) : null; string result = webRequest.isNetworkError ? null : webRequest.downloadHandler.text; OnDownloadStringComplete(cancelled, error, result, _webOp.userState); } else { OnDownloadStringComplete(false, error, null, _webOp.userState); } } } finally { if (_webOp != null) { _webOp.Dispose(); } } }
private IEnumerator DownloadFile() { WebOp _webOp = webOp; try { Exception error = null; UnityWebRequest webRequest = null; try { webRequest = webOp.CreateWebRequest(cookies); #if UNITY_2017_2_OR_NEWER webRequest.SendWebRequest(); #else webRequest.Send(); #endif } catch (Exception e) { error = e; webRequest = null; } if (webRequest != null) { while (!webRequest.isDone) { if (OnDownloadFileProgressChange != null) { OnDownloadFileProgressChange((long)webRequest.downloadedBytes, ((ToFileDownloadHandler)webRequest.downloadHandler).ContentLength); } yield return(null); } } lock ( syncObj ) { webOp = null; } if (error == null) { #if UNITY_2017_1_OR_NEWER bool webRequestError = webRequest.isHttpError || webRequest.isNetworkError; #else bool webRequestError = webRequest.isError; #endif bool cancelled = _webOp.Cancelled && webRequestError; if (!cancelled) { if (OnDownloadFileProgressChange != null) { long contentLength = ((ToFileDownloadHandler)webRequest.downloadHandler).ContentLength; OnDownloadFileProgressChange(contentLength, contentLength); } } string cookie = webRequest.GetResponseHeader("set-cookie"); if (cookie != null && cookie.Length > 0) { cookies[webRequest.url] = cookie; } if (OnDownloadFileComplete != null) { error = webRequestError ? new Exception(webRequest.error) : null; OnDownloadFileComplete(cancelled, error, _webOp.userState); } } else if (OnDownloadFileComplete != null) { OnDownloadFileComplete(false, error, _webOp.userState); } } finally { if (_webOp != null) { _webOp.Dispose(); } } }
public void DownloadFile(string url, string path, object userState) { webOp = new WebOp(url, WebOp.OpType.DownloadFile, userState, path); }
public void DownloadString(string url, object userState) { webOp = new WebOp(url, WebOp.OpType.DownloadString, userState); }