private ResponseAccessor <TReturnType> EndGetRequest <TReturnType>(ManualAsyncResult result) { try { result.TimeOutWait(); if (result.Error != null) { if (Con.AutoHost) { result = result.RequestRetryHandler.RetryRequest(); } } var responseStream = result.Response.GetResponseStream(); var responseAccesor = ReadStream(result, responseStream, 0); return(new ResponseAccessor <TReturnType>() { Content = JsonConvert.DeserializeObject <TReturnType>(responseAccesor.Content), }); } catch (Exception ex) { return(new ResponseAccessor <TReturnType>() { Ex = ex }); } }
private ResponseAccessor <TReturnType> EndPostRequest <TReturnType>(ManualAsyncResult result) { try { result.TimeOutWait(); if (result.Error != null) { if (Con.AutoHost) { result = result.RequestRetryHandler.RetryRequest(); } } Stream responseStream = null; var temp = new ManualAsyncResult(); result.HttpWebRequest.BeginGetResponse(temp.WrapHandler(ar => { try { var response = result.HttpWebRequest.EndGetResponse(ar); responseStream = response.GetResponseStream(); } catch (Exception ex) { result.Error = ex; } }), null); temp.TimeOutWait(); if (result.Error != null) { return(new ResponseAccessor <TReturnType>() { Ex = result.Error }); } var responseAccessor = ReadStream(result, responseStream, 0); return(new ResponseAccessor <TReturnType>() { Content = JsonConvert.DeserializeObject <TReturnType>(responseAccessor.Content), }); } catch (Exception ex) { return(new ResponseAccessor <TReturnType>() { Ex = ex }); } }