// ---------[ 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); }
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; } }