|
|
|
|
#if ENABLE_UNITYWEBREQUEST && (!UNITY_2019_1_OR_NEWER || UNITASK_WEBREQUEST_SUPPORT)
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine.Networking;
|
|
|
|
|
|
|
|
|
|
namespace Cysharp.Threading.Tasks
|
|
|
|
|
{
|
|
|
|
|
public class UnityWebRequestException : Exception
|
|
|
|
|
{
|
|
|
|
|
public UnityWebRequest UnityWebRequest { get; }
|
|
|
|
|
#if UNITY_2020_2_OR_NEWER
|
|
|
|
|
public UnityWebRequest.Result Result { get; }
|
|
|
|
|
#else
|
|
|
|
|
public bool IsNetworkError { get; }
|
|
|
|
|
public bool IsHttpError { get; }
|
|
|
|
|
#endif
|
|
|
|
|
public string Error { get; }
|
|
|
|
|
public string Text { get; }
|
|
|
|
|
public long ResponseCode { get; }
|
|
|
|
|
public Dictionary<string, string> ResponseHeaders { get; }
|
|
|
|
|
|
|
|
|
|
string msg;
|
|
|
|
|
|
|
|
|
|
public UnityWebRequestException(UnityWebRequest unityWebRequest)
|
|
|
|
|
{
|
|
|
|
|
this.UnityWebRequest = unityWebRequest;
|
|
|
|
|
#if UNITY_2020_2_OR_NEWER
|
|
|
|
|
this.Result = unityWebRequest.result;
|
|
|
|
|
#else
|
|
|
|
|
this.IsNetworkError = unityWebRequest.isNetworkError;
|
|
|
|
|
this.IsHttpError = unityWebRequest.isHttpError;
|
|
|
|
|
#endif
|
|
|
|
|
this.Error = unityWebRequest.error;
|
|
|
|
|
this.ResponseCode = unityWebRequest.responseCode;
|
|
|
|
|
if (UnityWebRequest.downloadHandler != null)
|
|
|
|
|
{
|
|
|
|
|
if (unityWebRequest.downloadHandler is DownloadHandlerBuffer dhb)
|
|
|
|
|
{
|
|
|
|
|
this.Text = dhb.text;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.ResponseHeaders = unityWebRequest.GetResponseHeaders();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override string Message
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (msg == null)
|
|
|
|
|
{
|
|
|
|
|
if (Text != null)
|
|
|
|
|
{
|
|
|
|
|
msg = Error + Environment.NewLine + Text;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
msg = Error;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return msg;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|