IEnumerator checkInternetConnection(string url) { ITTNetworkRequest testRequest = new ITTNetworkRequest(url, null, null, DateTime.Now); _activeRequests.Add(testRequest); #if UNITY_IPHONE while (null != testRequest.www && !testRequest.www.isDone) { yield return(null); } #else yield return(testRequest.www); #endif _attemptingReconnect = false; if (null != testRequest.www && string.IsNullOrEmpty(testRequest.www.error)) { connectionError = false; networkRecovered = true; ITTDataCache.Instance.Data.ResetWaitOnServerForAllEntries(); ITTDataCache.Instance.Data.RefreshAllData(true); } }
private IEnumerator _PerformRequest <T>(string url, string jsonData, Action <T> callback, Action <string> errorCallback, bool bufferCall = true) where T : class { if (connectionError) { if (null != errorCallback) { errorCallback(HelperMethods.Instance.Error_NetworkTimeOut); yield break; } } byte[] encodedJSON = null; if (!string.IsNullOrEmpty(jsonData)) { var encoding = new UTF8Encoding(); encodedJSON = encoding.GetBytes(jsonData); } // Save this call in case it fails due to session credentials if (bufferCall) { bufferedCall = new BufferedCall(url, jsonData, callback as Action <string>, errorCallback); } ITTNetworkRequest networkRequest = new ITTNetworkRequest(url, encodedJSON, PostHeader(), DateTime.Now); _activeRequests.Add(networkRequest); #if UNITY_IPHONE while (null != networkRequest.www && !networkRequest.www.isDone) { yield return(null); } #else yield return(networkRequest.www); #endif _WWWRequest(networkRequest.www, callback, errorCallback); }