/// <summary> /// Sends the request and sets the parsed response /// </summary> /// <returns>The HashTable response.</returns> /// <param name="rq">HTTP.Request rq.</param> /// <param name="callback">Method to call on complete</param> /// <param name="errorCallback">Method to call on error</param> private void GetResponse(HTTP.Request rq, Complete callback, Error errorCallback) { ResponseHeaders = new List<string> (); try { rq.Send ((request) => { if (this.DebugOutput) { Debug.Log (rq.InfoString (true)); } if (200 != request.response.status) { errorCallback (request.response.status + " Error: " + request.response.ToString ()); return; } ResponseHeaders = request.response.GetHeaders (); bool success = false; Hashtable rs = (Hashtable)JSON.JsonDecode (request.response.Text, ref success); if (!success || rs.Count == 0) { errorCallback (request.response.Text); return; } else { callback (rs); } }); } catch (System.Net.Sockets.SocketException e) { errorCallback ("Connection error: " + e.Message); } catch (System.Exception e) { errorCallback ("General error: " + e.Message); } }