From adb7fec116b8f2ae759740280f0501b2cb69497b Mon Sep 17 00:00:00 2001 From: muertet Date: Tue, 9 Jun 2015 20:52:00 +0200 Subject: [PATCH] + RestifizerRequest: Get() is now accepting parameters + RestifizerResponse: getFirst() method to easily get the first result from an ArrayList --- RestifizerRequest.cs | 26 ++++++++++++++++++++------ RestifizerResponse.cs | 7 +++++++ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/RestifizerRequest.cs b/RestifizerRequest.cs index 23c96d8..03c1f34 100644 --- a/RestifizerRequest.cs +++ b/RestifizerRequest.cs @@ -104,6 +104,10 @@ public void Get(Action callback = null) { performRequest("get", null, callback); } + public void Get(Hashtable parameters = null, Action callback = null) { + performRequest("get", parameters, callback); + } + public void Post(Hashtable parameters = null, Action callback = null) { performRequest("post", parameters, callback); } @@ -134,6 +138,16 @@ public RestifizerRequest Copy() { return restifizerRequest; } + private string addQuery (string currentStr, Hashtable parameters) { + foreach (string key in parameters.Keys) { + if (currentStr.Length > 0) { + currentStr += "&"; + } + currentStr += key + "=" + parameters[key]; + } + return currentStr; + } + private void performRequest(string method, Hashtable parameters = null, Action callback = null) { HTTP.Request someRequest; @@ -166,12 +180,12 @@ private void performRequest(string method, Hashtable parameters = null, Action 0) { - foreach (string key in extraQuery.Keys) { - if (queryStr.Length > 0) { - queryStr += "&"; - } - queryStr += key + "=" + extraQuery[key]; - } + queryStr = addQuery(queryStr, extraQuery); + } + + if (method == "get" && parameters != null && parameters.Count > 0) { + queryStr = addQuery(queryStr, parameters); + parameters = null; } if (queryStr.Length > 0) { diff --git a/RestifizerResponse.cs b/RestifizerResponse.cs index eedde9e..53707fa 100644 --- a/RestifizerResponse.cs +++ b/RestifizerResponse.cs @@ -13,6 +13,13 @@ public class RestifizerResponse { public string Tag; public HTTP.Request Request; + public Hashtable getFirst () { + IEnumerator enumerator = ResourceList.GetEnumerator(); + enumerator.MoveNext(); + + return (Hashtable)enumerator.Current; + } + public RestifizerResponse(HTTP.Request request, Hashtable result, string tag) { this.IsList = false; this.Status = request.response.status;