Esempio n. 1
0
        private IEnumerator OnResendEmailResponse(string url, Dictionary <string, string> formData, ResendEmailCallback cb)
        {
            using (UnityWebRequest request = WebConfig.Post(url, formData))
            {
                yield return(request.SendWebRequest());

                m_WebCoroutine = null;

                ErrorResponse error = WebConfig.ProcessGenericErrors(request);

                if (error != null)
                {
                    cb?.Invoke(ResendEmailResponseCode.Error, error);
                    yield break;
                }

                JsonResponse response = JsonResponse.FromJson(request.downloadHandler.text);

                ResendEmailResponseCode code = (ResendEmailResponseCode)response.code;

                switch (response.code)
                {
                case 1:         cb?.Invoke(code, null);                                                                                                                                                                         break;

                case 2:         cb?.Invoke(code, new ErrorResponse("Email already verified.", response.message, null, response.code));          break;

                default:        cb?.Invoke(code, WebConfig.GetUnknownError(request));                                                                                                           break;
                }
            }
        }
        private IEnumerator OnLogOutResponse(string url, Dictionary <string, string> formData, LogoutCallback cb)
        {
            using (UnityWebRequest request = WebConfig.Post(url, formData))
            {
                yield return(request.SendWebRequest());

                m_WebCoroutine = null;

                ErrorResponse error = WebConfig.ProcessGenericErrors(request);

                if (error != null)
                {
                    cb?.Invoke(error);
                    yield break;
                }

                JsonResponse response = JsonResponse.FromJson(request.downloadHandler.text);

                switch (response.code)
                {
                case 1:         cb?.Invoke(null);                                                                       break;

                default:        cb?.Invoke(WebConfig.GetUnknownError(request));         break;
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Creates an error response based on a web request. If there are no errors, returns null.
        /// </summary>
        /// <param name="request">The request to get errors from.</param>
        /// <returns>The error object.</returns>
        internal static ErrorResponse ProcessGenericErrors(UnityWebRequest request)
        {
            if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.DataProcessingError)
            {
                return(new ErrorResponse("There was a communication error.", request.error, request));
            }
            else if (request.result == UnityWebRequest.Result.ProtocolError)
            {
                return(new ErrorResponse("There was an HTTP error.", request.error, request));
            }
            else
            {
                try
                {
                    JsonResponse response = JsonResponse.FromJson(request.downloadHandler.text);

                    switch (response.code)
                    {
                    case 0:         return(new ErrorResponse("There was an unknown error.", request.downloadHandler.text, request, response.code));

                    case -1:        return(new ErrorResponse("There was an internal server error.", response.message, request, response.code));

                    case -2:        return(new ErrorResponse("Bad data was sent to server.", response.message, request, response.code));

                    case -3:        return(new ErrorResponse("Session has expired.", response.message, request, response.code));

                    case -4:        return(new ErrorResponse("Application not found.", response.message, request, response.code));
                    }
                }
                catch (Exception ex)
                {
                    Debug.LogError(ex);
                    Debug.LogError(request.downloadHandler.text);
                    return(new ErrorResponse("There was an unknown error.", request.downloadHandler.text, request));
                }
            }

            return(null);
        }
Esempio n. 4
0
 public static new GetUserByNameResponse FromJson(string json)
 {
     return(JsonResponse.FromJson <GetUserByNameResponse>(json));
 }
Esempio n. 5
0
 public static new CreateAccountResponse FromJson(string json)
 {
     return(JsonResponse.FromJson <CreateAccountResponse>(json));
 }
Esempio n. 6
0
 public static new ResetPasswordResponse FromJson(string json)
 {
     return(JsonResponse.FromJson <ResetPasswordResponse>(json));
 }
Esempio n. 7
0
 public static new LoginResponse FromJson(string json)
 {
     return(JsonResponse.FromJson <LoginResponse>(json));
 }
 public static new GetProfileResponse FromJson(string json)
 {
     return(JsonResponse.FromJson <GetProfileResponse>(json));
 }
Esempio n. 9
0
        /// <summary>
        /// Gets an "unknown error" object for a request.
        /// Used after external code has processed the request response and received an unknown result.
        /// </summary>
        /// <param name="request">The request used to generate the error.</param>
        /// <returns>The generated error object.</returns>
        internal static ErrorResponse GetUnknownError(UnityWebRequest request)
        {
            JsonResponse response = JsonResponse.FromJson(request.downloadHandler.text);

            return(new ErrorResponse("There was an unknown error.", response.message, request, response.code));
        }