internal MobeelizerResponse GetResponseData(WebRequest request) { MobeelizerResponse getResponse = null; WebException exception = null; try { request.BeginGetResponse(a => { try { using (WebResponse response = request.EndGetResponse(a)) { getResponse = new MobeelizerDataResponse() { Data = response.GetResponseStream() }; getResponse.StatusCode = (response as HttpWebResponse).StatusCode; } } catch (WebException e) { using (WebResponse response = e.Response) { using (Stream str = response.GetResponseStream()) { getResponse = new MobeelizerJsonResponse() { Json = GetJsonObject(str) }; } getResponse.StatusCode = (response as HttpWebResponse).StatusCode; } } allDone.Set(); }, null); } catch (WebException e) { throw new IOException(e.Message, e); } allDone.WaitOne(TimeSpan.FromSeconds(30)); if (exception != null) { throw exception; } return(getResponse); }
internal MobeelizerResponse GetResponse(WebRequest request) { MobeelizerResponse result = null; Exception exception = null; try { request.BeginGetResponse(a => { try { using (HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(a)) { using (Stream str = response.GetResponseStream()) { try { JObject json = GetJsonObject(str); result = new MobeelizerJsonResponse() { Json = json }; } catch (JsonReaderException) { str.Seek(0, SeekOrigin.Begin); result = new MobeelizerTicketResponse() { Ticket = new StreamReader(str).ReadToEnd() }; } } result.StatusCode = (response).StatusCode; } } catch (WebException e) { using (WebResponse response = e.Response) { if ((response as HttpWebResponse).StatusCode == HttpStatusCode.InternalServerError) { using (Stream str = response.GetResponseStream()) { result = new MobeelizerJsonResponse() { Json = GetJsonObject(str) }; } } else { result = new MobeelizerResponse(); } result.StatusCode = (response as HttpWebResponse).StatusCode; } } catch (JsonReaderException e) { exception = e; } allDone.Set(); }, null); } catch (WebException e) { throw new IOException(e.Message, e); } allDone.WaitOne(); if (exception != null) { throw exception; } return(result); }
internal MobeelizerResponse GetResponse(WebRequest request) { MobeelizerResponse result = null; Exception exception = null; try { request.BeginGetResponse(a => { try { using (HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(a)) { using (Stream str = response.GetResponseStream()) { try { JObject json = GetJsonObject(str); result = new MobeelizerJsonResponse() { Json = json }; } catch (JsonReaderException) { str.Seek(0, SeekOrigin.Begin); result = new MobeelizerTicketResponse() { Ticket = new StreamReader(str).ReadToEnd() }; } } result.StatusCode = (response).StatusCode; } } catch (WebException e) { using (WebResponse response = e.Response) { if ((response as HttpWebResponse).StatusCode == HttpStatusCode.InternalServerError) { using (Stream str = response.GetResponseStream()) { result = new MobeelizerJsonResponse() { Json = GetJsonObject(str) }; } } else { result = new MobeelizerResponse(); } result.StatusCode = (response as HttpWebResponse).StatusCode; } } catch (JsonReaderException e) { exception = e; } allDone.Set(); }, null); } catch (WebException e) { throw new IOException(e.Message, e); } allDone.WaitOne(); if (exception != null) { throw exception; } return result; }