Exemplo n.º 1
0
 public void Request(MethodForm methodForm, Action <Texture> successCallback, Action <string> failCallback)
 {
     StartCoroutine(Connecting(methodForm, successCallback, failCallback));
 }
Exemplo n.º 2
0
        public IEnumerator Connecting(MethodForm methodForm, Action <string> successCallback, Action <string> failCallback)
        {
            JulietLogger.Info(TAG, "Connecting to ... " + methodForm.WebRequest.url);

            using (UnityWebRequest www = methodForm.WebRequest)
            {
                JulietLogger.Info(TAG, "Wating for Response ... ");

                yield return(www.SendWebRequest());

                try
                {
                    JulietLogger.Info(TAG, "Responsed from Server ... ");

                    if (!www.isNetworkError)
                    {
                        long code = www.responseCode;
                        JulietLogger.Info(TAG, "Http Status Code " + code);

                        switch (code)
                        {
                        case 200:

                            JulietLogger.Info(TAG, "Successed Responsed ... " + www.downloadHandler.text);

                            successCallback(www.downloadHandler.text);
                            break;

                        default:
                            string errorFormat = "{ \"Status\":" + code + ", \"Message\": \"" + www.error + " \"}";

                            JulietLogger.Info(TAG, "Failed Responsed  ... " + errorFormat);

                            failCallback(errorFormat);

                            break;
                        }
                    }
                    else
                    {
                        string errorFormat = "{ \"Status\":" + 500 + ", \"Message\": \"" + www.error + " \"}";

                        JulietLogger.Info(TAG, "Internal Server Failed Responsed  ... " + errorFormat);

                        failCallback(errorFormat);
                    }
                }
                catch (WebException ex)
                {
                    JulietLogger.Info(TAG, "Error Web Exception " + ex.Message);

                    string errorFormat = "";

                    if (ex.Status == WebExceptionStatus.ProtocolError)
                    {
                        if (ex.Response is HttpWebResponse response)
                        {
                            errorFormat = "{ \"Status\":" + (int)response.StatusCode + ", \"Message\": \"" + www.error + " \"}";

                            failCallback(errorFormat);
                        }
                        else
                        {
                            errorFormat = "{ \"Status\":" + 400 + ", \"Message\": \"" + www.error + " \"}";
                        }
                    }
                    else
                    {
                        errorFormat = "{ \"Status\":" + 400 + ", \"Message\": \"" + www.error + " \"}";
                    }

                    failCallback(errorFormat);
                }
                catch (Exception ex)
                {
                    JulietLogger.Info(TAG, "Error Web Exception " + ex.Message);

                    string errorFormat = "{ \"Status\":" + 400 + ", \"Message\": \"" + www.error + " \"}";

                    failCallback(errorFormat);
                }
            }
        }
Exemplo n.º 3
0
        public IEnumerator Connecting(MethodForm methodForm, Action <Texture> successCallback, Action <string> failCallback)
        {
            JulietLogger.Info(TAG, "Connecting to ... " + methodForm.URL);

            Uri             uri = new Uri(methodForm.URL);
            UnityWebRequest www = UnityWebRequestTexture.GetTexture(uri);

            yield return(www.SendWebRequest());

            try
            {
                if (www.isNetworkError || www.isHttpError)
                {
                    string errorFormat = string.Format(JulietShareVariable.FORMAT_ERROR, www.responseCode, www.error);

                    JulietLogger.Info(TAG, "Failed Responsed  ... " + errorFormat);

                    failCallback(errorFormat);
                }
                else
                {
                    JulietLogger.Info(TAG, "Successed Responsed");

                    Texture texture = ((DownloadHandlerTexture)www.downloadHandler).texture;

                    successCallback(texture);
                }
            }
            catch (WebException ex)
            {
                JulietLogger.Info(TAG, "Error Web Exception " + ex.Message);

                string errorFormat = "";

                if (ex.Status == WebExceptionStatus.ProtocolError)
                {
                    if (ex.Response is HttpWebResponse response)
                    {
                        errorFormat = "{ \"Status\":" + (int)response.StatusCode + ", \"Message\": \"" + www.error + " \"}";

                        failCallback(errorFormat);
                    }
                    else
                    {
                        errorFormat = "{ \"Status\":" + 400 + ", \"Message\": \"" + www.error + " \"}";
                    }
                }
                else
                {
                    errorFormat = "{ \"Status\":" + 400 + ", \"Message\": \"" + www.error + " \"}";
                }

                failCallback(errorFormat);
            }
            catch (Exception ex)
            {
                JulietLogger.Info(TAG, "Error Web Exception " + ex.Message);

                string errorFormat = "{ \"Status\":" + 400 + ", \"Message\": \"" + www.error + " \"}";

                failCallback(errorFormat);
            }
        }