Exemplo n.º 1
0
        public static UnityWebRequest asyncRequest(string method, string url, string api, string token,
                                                   object postObject, bool isTest)
        {
            UnityWebRequest request = new UnityWebRequest(url + api, method);

            if (postObject != null)
            {
                string postData      = HandlePostData(JsonUtility.ToJson(postObject));
                byte[] postDataBytes = Encoding.UTF8.GetBytes(postData);
                request.uploadHandler = (UploadHandler) new UploadHandlerRaw(postDataBytes);
            }

            request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
            // set content-type header
            request.SetRequestHeader("Content-Type", "application/json");
            // set auth header
            if (isTest)
            {
            }
            else if (token != null)
            {
                request.SetRequestHeader("Authorization", "Bearer " + token);
            }

            MethodInfo sendWebRequestMethodInfo = request.GetType().GetMethod("SendWebRequest");

            if (sendWebRequestMethodInfo == null)
            {
                sendWebRequestMethodInfo = request.GetType().GetMethod("Send");
            }

            sendWebRequestMethodInfo.Invoke(request, null);
            return(request);
        }
Exemplo n.º 2
0
        /// <inheritdoc/>
        public override string ToString()
        {
            var result   = new StringBuilder();
            var errorStr = _request.error;

            result.Append(_request.GetType().Name);
            result.Append(" (");
            result.Append(_request.url);

            if (IsFaulted)
            {
                if (string.IsNullOrEmpty(errorStr))
                {
                    result.Append(", ");
                    result.Append(_request.responseCode.ToString());
                }
                else
                {
                    result.Append(", ");
                    result.Append(errorStr);
                    result.Append(" (");
                    result.Append(_request.responseCode.ToString());
                    result.Append(')');
                }
            }
            else if (IsCompleted)
            {
                result.Append(", ");
                result.Append(_request.responseCode.ToString());
            }

            result.Append(')');
            return(result.ToString());
        }
Exemplo n.º 3
0
        public static UnityWebRequest AsyncRequest(string method, string url, string api, string token,
                                                   object postObject)
        {
            var request = new UnityWebRequest(url + api, method);

            if (postObject != null)
            {
                string postData      = HandlePostData(JsonUtility.ToJson(postObject));
                byte[] postDataBytes = Encoding.UTF8.GetBytes(postData);
                request.uploadHandler = (UploadHandler) new UploadHandlerRaw(postDataBytes);
            }

            request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
            // set content-type header
            request.SetRequestHeader("Content-Type", "application/json");
            // set auth header
            if (token != null)
            {
                request.SetRequestHeader("Authorization", "Bearer " + token);
            }

            {
                request.SetRequestHeader("unity_version", Application.unityVersion);
                request.SetRequestHeader("sdk_version", BuildConfig.VERSION);
                request.SetRequestHeader("device_id", SystemInfo.deviceUniqueIdentifier);
                request.SetRequestHeader("sdk_dist", BuildConfig.SDK_DIST);
            }

            MethodInfo sendWebRequest = request.GetType().GetMethod("SendWebRequest");

            if (sendWebRequest == null)
            {
                sendWebRequest = request.GetType().GetMethod("Send");
            }

            sendWebRequest.Invoke(request, null);

            return(request);
        }
Exemplo n.º 4
0
 public void Update()
 {
     foreach (KeyValuePair <UnityWebRequest, OnComplete> request in this._requests)
     {
         UnityWebRequest r = request.Key;
         OnComplete      a = request.Value;
         if (r.isDone)
         {
             if (!r.isNetworkError && !r.isHttpError)
             {
                 a(r.downloadHandler.text);
             }
             else
             {
                 a(null);
                 Debug.Log("[REQUEST][" + r.GetType() + "][ERROR] " + r.url + " " + r.error);
             }
             this._requests.Remove(r);
             return;
         }
     }
 }