Exemple #1
0
 public string ToUnityDebugString()
 {
     if (this.webRequest == null)
     {
         return("Request failed prior to being sent.\n"
                + this.errorMessage);
     }
     else
     {
         return(DebugUtilities.GetResponseInfo(this.webRequest));
     }
 }
Exemple #2
0
        /// <summary>Callback upon request operation completion.</summary>
        private static void OnOperationCompleted(AsyncOperation operation)
        {
            if (operation == null)
            {
                return;
            }

            // get vars
            UnityWebRequestAsyncOperation o = operation as UnityWebRequestAsyncOperation;
            UnityWebRequest webRequest      = o.webRequest;
            var             now             = ServerTimeStamp.Now;
            bool            isError         = (webRequest.isNetworkError || webRequest.isHttpError);

            // should we log?
            if (PluginSettings.REQUEST_LOGGING.logAllResponses || isError)
            {
                RequestDebugData debugData;
                if (!DebugUtilities.webRequestDebugData.TryGetValue(webRequest, out debugData))
                {
                    debugData = new RequestDebugData()
                    {
                        userIdString     = "NONE_RECORDED",
                        timeSent         = -1,
                        downloadLocation = null,
                    };
                }

                // generate strings
                string requestString = DebugUtilities.GetRequestInfo(webRequest,
                                                                     debugData.userIdString);

                string responseString = DebugUtilities.GetResponseInfo(webRequest);

                // generate log string
                var logString = new System.Text.StringBuilder();
                if (!isError)
                {
                    logString.AppendLine("[mod.io] Web Request Succeeded");
                }
                else
                {
                    logString.AppendLine("[mod.io] Web Request Failed");
                }

                logString.Append("URL: ");
                logString.Append(webRequest.url);
                logString.Append(" (");
                logString.Append(webRequest.method.ToUpper());
                logString.AppendLine(")");

                if (!string.IsNullOrEmpty(debugData.downloadLocation))
                {
                    logString.Append("Download Location: ");
                    logString.AppendLine(debugData.downloadLocation);
                }

                if (debugData.timeSent >= 0)
                {
                    logString.Append("Sent: ");
                    logString.Append(ServerTimeStamp.ToLocalDateTime(debugData.timeSent).ToString());
                    logString.Append(" [");
                    logString.Append(debugData.timeSent.ToString());
                    logString.AppendLine("]");
                }

                logString.Append("Completed: ");
                logString.Append(ServerTimeStamp.ToLocalDateTime(now).ToString());
                logString.Append(" [");
                logString.Append(now.ToString());
                logString.AppendLine("]");

                logString.AppendLine();

                logString.AppendLine("------[ Request ]------");
                logString.AppendLine(requestString);

                logString.AppendLine("------[ Response ]------");
                logString.AppendLine(responseString);

                // log
                if (isError && PluginSettings.REQUEST_LOGGING.errorsAsWarnings)
                {
                    Debug.LogWarning(logString.ToString());
                }
                else
                {
                    Debug.Log(logString.ToString());
                }
            }

            DebugUtilities.webRequestDebugData.Remove(webRequest);
        }