Пример #1
0
        private IEnumerator Request(WWW www, int timeout, HttpRequestCompleteEventHandler onRequestComplete)
        {
            float timeOut  = Time.time;
            float progress = www.progress;

            while (www != null && !www.isDone)
            {
                if (progress < www.progress)
                {
                    timeOut  = Time.time;
                    progress = www.progress;
                }

                if (Time.time - timeOut > timeout)
                {
                    www.Dispose();
                    if (onRequestComplete != null)
                    {
                        onRequestComplete(this, new HttpRequestCompleteEventArgs(true, "Timeout", null));
                    }

                    yield break;
                }
                yield return(null);
            }

            yield return(www);

            if (www.error == null)
            {
                if (string.IsNullOrEmpty(www.text) || www.text.Equals("null", StringComparison.OrdinalIgnoreCase))
                {
                    if (onRequestComplete != null)
                    {
                        onRequestComplete(this, new HttpRequestCompleteEventArgs(true, "null", null));
                    }
                }
                else
                {
                    if (onRequestComplete != null)
                    {
                        onRequestComplete(this, new HttpRequestCompleteEventArgs(false, string.Empty, www.bytes));
                    }
                }
            }
            else
            {
                if (onRequestComplete != null)
                {
                    onRequestComplete(this, new HttpRequestCompleteEventArgs(true, www.error, null));
                }
            }
            www.Dispose();
        }
Пример #2
0
 public abstract void Request(string url, IDictionary <string, object> data, Encoding encoding, int timeout, HttpRequestCompleteEventHandler onRequestComplete);
Пример #3
0
 public abstract void Request(string url, int timeout, HttpRequestCompleteEventHandler onRequestComplete);
Пример #4
0
 public void Request(string url, int timeout, HttpRequestCompleteEventHandler onRequestComplete)
 {
     m_Requester.Request(url, timeout, onRequestComplete);
 }
Пример #5
0
 public void Request(string url, IDictionary <string, object> data, Encoding encoding, int timeout, HttpRequestCompleteEventHandler onRequestComplete)
 {
     m_Requester.Request(url, data, encoding, timeout, onRequestComplete);
 }
Пример #6
0
        public override void Request(string url, int timeout, HttpRequestCompleteEventHandler onRequestComplete)
        {
            WWW www = new WWW(url);

            StartCoroutine(Request(www, timeout, onRequestComplete));
        }
Пример #7
0
        public override void Request(string url, IDictionary <string, object> data, Encoding encoding, int timeout, HttpRequestCompleteEventHandler onRequestComplete)
        {
            WWWForm form       = new WWWForm();
            var     enumerator = data.GetEnumerator();

            while (enumerator.MoveNext())
            {
                string content = enumerator.Current.Value.ToString();
                form.AddField(enumerator.Current.Key, content, encoding);
            }
            WWW www = new WWW(url, form);

            StartCoroutine(Request(www, timeout, onRequestComplete));
        }