예제 #1
0
    public IEnumerator PostAddObject(string url, string bodyJsonString, System.Action <List <string> > callback)
    {
        print(bodyJsonString);
        var request = new UnityWebRequest(url, "POST");

        byte[] bodyRaw = Encoding.UTF8.GetBytes(bodyJsonString);
        request.uploadHandler   = (UploadHandler) new UploadHandlerRaw(bodyRaw);
        request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");

        //yield return request.Send();
        yield return(request.SendWebRequest());

        Debug.Log("Status Code: " + request.responseCode);
        //getting the body from call
        Debug.Log("Add Object Download Handler: " + request.downloadHandler.text);
        //for cases that backend object detection does not detect any object
        if (request.downloadHandler.text == "400")
        {
            emptyObject.Clear();
            emptyObject.Add("NoObjectId");
            callback(emptyObject);
        }
        else
        {
            //for cases that backend can not find the object
            var       data      = request.downloadHandler.text;
            ImageInfo imageInfo = ImageInfo.CreateFromJSON(data);
            //Debug.Log("House: " + houseInfo.house);
            callback(imageInfo.objectId);
        }
        //Testing no oject senario
        //emptyObject.Clear();
        //emptyObject.Add("NoObjectId");
        //callback(emptyObject);
    }