private IEnumerator StartRequest(RequestContainer requestContainer) { byte[] postData = null; if (requestContainer.Request.Verb == Request.VERB.POST) { string body = JsonConvert.SerializeObject(requestContainer.Request.Data); postData = System.Text.Encoding.UTF8.GetBytes(body); } else { requestContainer.FullUrl += "?"; string jsonParams = JsonConvert.SerializeObject(requestContainer.Request.Data); Dictionary <string, object> urlParams = JsonConvert.DeserializeObject <Dictionary <string, object> >(jsonParams); bool firstParam = true; foreach (var p in urlParams) { if (!firstParam) { requestContainer.FullUrl += "&"; } requestContainer.FullUrl += p.Key + "=" + p.Value; if (firstParam) { firstParam = false; } } } WWW www = new WWW(requestContainer.FullUrl, postData, requestContainer.Request.Header); if (OnRequestStart != null) { OnRequestStart.Invoke(); } yield return(www); //No error? if (string.IsNullOrEmpty(www.error)) { requestContainer.JsonResponse = www.text; requestContainer.SuccessCallback(); } else { MundiPaggError error = ConvertError(www.error, www.text); //Call error callback requestContainer.ErrorCallback(error); } if (OnRequestEnd != null) { OnRequestEnd.Invoke(); } }