protected IEnumerator LoadAndRequest(string method, string messageBody, PostRequestCallback callback) { Debug.Log("POST request!"); yield return(StartCoroutine(Fade(1f))); loadIcon.blocksRaycasts = true; yield return(StartCoroutine(sendRequestCoroutine(method, messageBody, callback))); loadIcon.blocksRaycasts = false; yield return(StartCoroutine(Fade(0f))); }
public IEnumerator PostRequest(string bodyJsonString, PostRequestCallback callback) { var request = new UnityWebRequest(url, "POST"); byte[] bodyRaw = new System.Text.UTF8Encoding().GetBytes(bodyJsonString); request.uploadHandler = (UploadHandler) new UploadHandlerRaw(bodyRaw); request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer(); request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Authorization", "Bearer 4e09a815-6f53-4506-996a-39322f0ac417"); yield return(request.SendWebRequest()); Debug.Log(request); Debug.Log("Response: " + request.downloadHandler.text); Debug.Log("Response: " + request.isNetworkError); Debug.Log("Response: " + request.responseCode); callback(!request.isNetworkError, request.downloadHandler.text); }
private void SendUserSignUp(User user) { HttpRequestApi api = gameObject.AddComponent <HttpRequestApi>(); List <User> rows = new List <User>(); rows.Add(user); APPInfo appInfo = new APPInfo(); appInfo.page = 1; appInfo.size = 1000; appInfo.domain = 246; appInfo.row_model = "User"; appInfo.rows = rows; var JSON_Body = JsonUtility.ToJson(appInfo); Debug.Log(JSON_Body); PostRequestCallback signUpMethod = FinishSignUp; var result = StartCoroutine(api.PostRequest(JSON_Body, signUpMethod)); }
IEnumerator PostRequest(PostRequestCallback callback) { string name = PlayerPrefs.GetString("name"); //SendRequest Debug.Log("UpdateSite >> Start"); Dictionary <string, string> param = new Dictionary <string, string>(); param.Add("ps", name); param.Add("vr", gameType); Debug.Log("UpdateSite >> params=" + param); UnityWebRequest www = UnityWebRequest.Post(URI, param); yield return(www.Send()); if (www.isError) { Debug.Log(www.error); } else { if (www.responseCode == 200) { information = "Seite wurde aktualisiert, beende das Spiel und aktualisiere die Seite im Browser."; Debug.Log("UpdateSite >> request sent & is done"); } else { information = "Verbindung zur Seite konnte nicht hergestellt werden. " + "Falls es nach erneutem Versuchen nicht funktioniert, meldet euch bei uns ([email protected])."; Debug.Log("UpdateSite >> request failed code=" + www.responseCode); } callback(information); } }
public string UpdateWebsite(PostRequestCallback callback) { StartCoroutine(PostRequest(callback)); return(information); }
/// <summary> /// Asynchronous HTTP Post request. /// src: http://stackoverflow.com/questions/27310201/async-requests-in-unity /// https://docs.unity3d.com/Manual/UnityWebRequest-CreatingDownloadHandlers.html /// </summary> /// <param name="method">REST method name.</param> /// <param name="messageBody">POST message body string.</param> /// <param name="callback">Callback handler that process the response string. </param> /// <returns></returns> protected IEnumerator sendRequestCoroutine(string method, string messageBody, PostRequestCallback callback) { var data = System.Text.Encoding.UTF8.GetBytes(messageBody); string urlString = getMethodURL(method); UnityWebRequest webRequest = UnityWebRequest.Post(urlString, UnityWebRequest.kHttpVerbPOST); webRequest.uploadHandler = new UploadHandlerRaw(data); webRequest.downloadHandler = new DownloadHandlerBuffer(); // Request and wait for the desired page. yield return(webRequest.SendWebRequest()); if (webRequest.isNetworkError) { print("Error: " + webRequest.error); } else { //print(webRequest.downloadHandler.text); byte[] results = webRequest.downloadHandler.data; //webRequest.downloadHandler.text var text = System.Text.Encoding.UTF8.GetString(results); callback(text); } }