Esempio n. 1
0
    /// <summary>
    /// Authenticate a user, returning a ParseInstance with the user details.
    /// </summary>
    /// <param name="username">
    /// A <see cref="System.String"/>
    /// </param>
    /// <param name="password">
    /// A <see cref="System.String"/>
    /// </param>
    /// <returns>
    /// A <see cref="ParseInstance"/>
    /// </returns>
    public static ParseInstance Authenticate(string username, string password)
    {
        var instance = new ParseInstance(users);

        instance.isDone = false;
        var queryString = HTTP.URL.Encode("username="******"&" + HTTP.URL.Encode("password="******"GET", "/login" + "?" + queryString);

        r.Send(delegate(HTTP.Request request) {
            instance.code = request.response.status;
            try {
                instance.json = (Hashtable)JSON.JsonDecode(request.response.Bytes);

                if (instance.json.ContainsKey("error"))
                {
                    instance.error = (string)instance.json["error"];
                }
                else
                {
                    UniParse.Instance.sessionToken = instance.Get <string> ("sessionToken");
                }
            } catch (System.Exception e) {
                instance.error = e.ToString();
            }
            if (instance.error != null)
            {
                Debug.LogWarning(instance.error);
            }
            instance.isDone = true;
        });
        return(instance);
    }
Esempio n. 2
0
    /// <summary>
    /// Return a ParseInstance by objectId.
    /// </summary>
    /// <param name="objectId">
    /// A <see cref="System.String"/>
    /// </param>
    /// <returns>
    /// A <see cref="ParseInstance"/>
    /// </returns>
    public ParseInstance Get(string objectId)
    {
        var instance = new ParseInstance(this);

        instance.isDone = false;
        var r = UniParse.Instance.Request("GET", string.Format("{0}/{1}", root, objectId));

        r.Send(delegate(HTTP.Request request) {
            instance.code = request.response.status;
            instance.uri  = request.uri.ToString();
            try {
                instance.json = (Hashtable)JSON.JsonDecode(request.response.Bytes);
                if (instance.json.ContainsKey("error"))
                {
                    instance.error = (string)instance.json["error"];
                }
            } catch (System.Exception e) {
                instance.error = e.ToString();
            }
            if (instance.error != null)
            {
                Debug.LogWarning(instance.error);
            }
            instance.isDone = true;
        });
        return(instance);
    }
Esempio n. 3
0
    /// <summary>
    /// Returns a ParseInstanceCollection of instances belonging to this ParseClass.
    /// </summary>
    /// <returns>
    /// A <see cref="ParseInstanceCollection"/>. Query parameters to constrain the results in JSON.
    /// </returns>
    public ParseInstanceCollection List(string query)
    {
        var instance = new ParseInstanceCollection(this);

        instance.isDone = false;
        var r = UniParse.Instance.Request("GET", query == null ? string.Format("{0}", root) : string.Format("{0}?{1}", root, HTTP.URL.Encode(query)));

        r.Send(delegate(HTTP.Request request) {
            instance.code  = request.response.status;
            instance.uri   = request.uri.ToString();
            Hashtable json = null;
            try {
                json = (Hashtable)JSON.JsonDecode(request.response.Bytes);
            } catch (System.Exception e) {
                instance.error = e.ToString();
            }
            if (json != null)
            {
                if (json.ContainsKey("error"))
                {
                    instance.error = (string)json["error"];
                }
                else
                {
                    var items = new List <ParseInstance> ();
                    foreach (var result in (ArrayList)json["results"])
                    {
                        var i  = new ParseInstance(this);
                        i.json = (Hashtable)result;
                        items.Add(i);
                    }
                    instance.items = items.ToArray();
                }
            }
            if (instance.error != null)
            {
                Debug.LogWarning(instance.error);
            }
            instance.isDone = true;
        });
        return(instance);
    }
Esempio n. 4
0
    /// <summary>
    /// Create a new ParseInstance for this ParseClass.
    /// </summary>
    /// <returns>
    /// A <see cref="ParseInstance"/>
    /// </returns>
    public ParseInstance New()
    {
        var instance = new ParseInstance(this);

        return(instance);
    }