コード例 #1
0
        // ---------[ INITIALIZATION ]---------
        public static WebRequestError GenerateFromWebRequest(UnityEngine.Networking.UnityWebRequest webRequest)
        {
            UnityEngine.Debug.Assert(webRequest.isNetworkError || webRequest.isHttpError);

            WebRequestError error;

            WebRequestError.APIWrapper errorWrapper = JsonConvert.DeserializeObject <APIWrapper>(webRequest.downloadHandler.text);

            if (errorWrapper != null &&
                errorWrapper.error != null)
            {
                error = errorWrapper.error;
            }
            else
            {
                error         = new WebRequestError();
                error.message = webRequest.error;
            }

            error.responseCode = (int)webRequest.responseCode;
            error.method       = webRequest.method.ToUpper();
            error.url          = webRequest.url;
            error.timeStamp    = ServerTimeStamp.Now;

            return(error);
        }
コード例 #2
0
ファイル: WebRequestError.cs プロジェクト: rootlawz/EduDemo
        private void ApplyAPIErrorValues()
        {
            this.errorMessage            = null;
            this.fieldValidationMessages = null;

            // null-ref and type-check
            if (this.webRequest.downloadHandler != null &&
                !(this.webRequest.downloadHandler is DownloadHandlerFile))
            {
                try
                {
                    // get the request content
                    string requestContent = this.webRequest.downloadHandler.text;
                    if (string.IsNullOrEmpty(requestContent))
                    {
                        return;
                    }

                    // deserialize into an APIError
                    WebRequestError.APIWrapper errorWrapper = JsonConvert.DeserializeObject <APIWrapper>(requestContent);
                    if (errorWrapper == null ||
                        errorWrapper.error == null)
                    {
                        return;
                    }

                    // extract values
                    this.errorReference          = errorWrapper.error.errorReference;
                    this.errorMessage            = errorWrapper.error.message;
                    this.fieldValidationMessages = errorWrapper.error.errors;
                }
                catch (System.Exception e)
                {
                    Debug.LogWarning("[mod.io] Error deserializing API Error:\n"
                                     + e.Message);
                }
            }

            if (this.errorMessage == null)
            {
                this.errorMessage = this.webRequest.error;
            }
        }