public String Execute(String path, String query) { try { WebRequest request= WebRequest.Create (BASE_URL + path); request.ContentType = "application/json"; request.Method = "POST"; request.Credentials = new NetworkCredential (USERNAME, PASSWORD); request.Headers["X-AppGlu-Environment"] = "staging"; RequestState requestState = new RequestState(request, query); request.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), requestState); allDone.WaitOne(); allDone.Dispose(); requestState.response.Dispose(); return requestState.content ; } catch(WebException e) { Debug.WriteLine("WebException raised!"); Debug.WriteLine("\n{0}",e.Message); Debug.WriteLine("\n{0}",e.Status); } catch(Exception e) { Debug.WriteLine("Exception raised!"); Debug.WriteLine("Source : " + e.Source); Debug.WriteLine("Message : " + e.Message); } return null; }
private void ReadCallBack(RequestState requestState) { try { Stream responseStream = requestState.responseStream; int read = responseStream.Read( requestState.bufferRead,0, BUFFER_SIZE); // Read the contents of the HTML page and then print to the console. if (read > 0) { requestState.requestData.Append(Encoding.UTF8.GetString(requestState.bufferRead, 0, read)); ReadCallBack(requestState); } else { if(requestState.requestData.Length>1) { string stringContent = requestState.requestData.ToString(); requestState.content = stringContent; } responseStream.Dispose(); allDone.Set(); } } catch(WebException e) { Debug.WriteLine("WebException raised!"); Debug.WriteLine("\n{0}",e.Message); Debug.WriteLine("\n{0}",e.Status); } catch(Exception e) { Debug.WriteLine("Exception raised!"); Debug.WriteLine("Source : {0}" , e.Source); Debug.WriteLine("Message : {0}" , e.Message); } }