public static UnityWebRequest asyncRequest(string method, string url, string api, string token, object postObject, bool isTest) { UnityWebRequest request = new UnityWebRequest(url + api, method); if (postObject != null) { string postData = HandlePostData(JsonUtility.ToJson(postObject)); byte[] postDataBytes = Encoding.UTF8.GetBytes(postData); request.uploadHandler = (UploadHandler) new UploadHandlerRaw(postDataBytes); } request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer(); // set content-type header request.SetRequestHeader("Content-Type", "application/json"); // set auth header if (isTest) { } else if (token != null) { request.SetRequestHeader("Authorization", "Bearer " + token); } MethodInfo sendWebRequestMethodInfo = request.GetType().GetMethod("SendWebRequest"); if (sendWebRequestMethodInfo == null) { sendWebRequestMethodInfo = request.GetType().GetMethod("Send"); } sendWebRequestMethodInfo.Invoke(request, null); return(request); }
/// <inheritdoc/> public override string ToString() { var result = new StringBuilder(); var errorStr = _request.error; result.Append(_request.GetType().Name); result.Append(" ("); result.Append(_request.url); if (IsFaulted) { if (string.IsNullOrEmpty(errorStr)) { result.Append(", "); result.Append(_request.responseCode.ToString()); } else { result.Append(", "); result.Append(errorStr); result.Append(" ("); result.Append(_request.responseCode.ToString()); result.Append(')'); } } else if (IsCompleted) { result.Append(", "); result.Append(_request.responseCode.ToString()); } result.Append(')'); return(result.ToString()); }
public static UnityWebRequest AsyncRequest(string method, string url, string api, string token, object postObject) { var request = new UnityWebRequest(url + api, method); if (postObject != null) { string postData = HandlePostData(JsonUtility.ToJson(postObject)); byte[] postDataBytes = Encoding.UTF8.GetBytes(postData); request.uploadHandler = (UploadHandler) new UploadHandlerRaw(postDataBytes); } request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer(); // set content-type header request.SetRequestHeader("Content-Type", "application/json"); // set auth header if (token != null) { request.SetRequestHeader("Authorization", "Bearer " + token); } { request.SetRequestHeader("unity_version", Application.unityVersion); request.SetRequestHeader("sdk_version", BuildConfig.VERSION); request.SetRequestHeader("device_id", SystemInfo.deviceUniqueIdentifier); request.SetRequestHeader("sdk_dist", BuildConfig.SDK_DIST); } MethodInfo sendWebRequest = request.GetType().GetMethod("SendWebRequest"); if (sendWebRequest == null) { sendWebRequest = request.GetType().GetMethod("Send"); } sendWebRequest.Invoke(request, null); return(request); }
public void Update() { foreach (KeyValuePair <UnityWebRequest, OnComplete> request in this._requests) { UnityWebRequest r = request.Key; OnComplete a = request.Value; if (r.isDone) { if (!r.isNetworkError && !r.isHttpError) { a(r.downloadHandler.text); } else { a(null); Debug.Log("[REQUEST][" + r.GetType() + "][ERROR] " + r.url + " " + r.error); } this._requests.Remove(r); return; } } }