Beispiel #1
0
    public static ReturnObject postSave()
    {
        print(token);

        string url         = "https://byteme.online/api/save/";
        bool   result      = false;
        string result_text = "";

        JSONPlayer jsonPlayer = new JSONPlayer(FindObjectOfType(typeof(Player)) as Player);
        string     body       = jsonPlayer.ToJSON();

        byte[]           bytes = System.Text.Encoding.UTF8.GetBytes(body);
        UploadHandlerRaw uh    = new UploadHandlerRaw(bytes);

        //print(userInfo.ToString());
        UnityWebRequest request = UnityWebRequest.Post(url, body);

        request.SetRequestHeader("Authorization", string.Concat("Token ", token));
        request.SetRequestHeader("Content-Type", "application/json");
        request.SetRequestHeader("topsecret", "Mcjdan,dryd.ugjtgo.oekrpat!");
        request.uploadHandler = uh;


        request.Send();

        int limit   = 3000;
        int counter = 0;

        while ((!request.isDone || !request.downloadHandler.isDone) && counter != limit)
        {
            //Keep looping until the request finishes or errors
            System.Threading.Thread.Sleep(1);
            counter++;
        }

        print(limit + " " + counter);
        if (request.isError || counter == limit)
        {
            return(new ReturnObject(false, "Could not connect to server"));
        }

        if (request.responseCode == 201)
        {
            result = true;
            print("Successfull!");
        }
        else
        {
            try {
                print(request.responseCode);
                print(request.downloadHandler.text);
                JSONObject    obj     = new JSONObject(request.downloadHandler.text);
                List <string> keyList = obj.keys;

                foreach (string item in keyList)
                {
                    result_text += item;
                    result_text += ": " + obj.GetField(item).ToString().Replace("\"", "") + "\n";
                }

                print(result_text);
                result = false;
            } catch (Exception ex) {
                result_text = request.responseCode + ": could not connect to server";
                result      = false;
            }
        }

        return(new ReturnObject(result, result_text));
    }