public override WebResponse EndGetResponse(IAsyncResult asyncResult) { CheckAbort(); if (asyncResult == null || !(asyncResult is Task <WebResponse>)) { throw new ArgumentException(SR.net_io_invalidasyncresult, nameof(asyncResult)); } if (Interlocked.Exchange(ref _endGetResponseCalled, 1) != 0) { throw new InvalidOperationException(SR.Format(SR.net_io_invalidendcall, "EndGetResponse")); } WebResponse response; try { response = ((Task <WebResponse>)asyncResult).GetAwaiter().GetResult(); } catch (Exception ex) { throw WebException.CreateCompatibleException(ex); } return(response); }
public override Stream EndGetRequestStream(IAsyncResult asyncResult) { CheckAbort(); if (asyncResult == null || !(asyncResult is Task <Stream>)) { throw new ArgumentException(SR.net_io_invalidasyncresult, nameof(asyncResult)); } if (Interlocked.Exchange(ref _endGetRequestStreamCalled, 1) != 0) { throw new InvalidOperationException(SR.Format(SR.net_io_invalidendcall, "EndGetRequestStream")); } Stream stream; try { stream = ((Task <Stream>)asyncResult).GetAwaiter().GetResult(); } catch (Exception ex) { throw WebException.CreateCompatibleException(ex); } return(stream); }
public override WebResponse GetResponse() { try { _sendRequestCts = new CancellationTokenSource(); return(SendRequest().Result); } catch (Exception ex) { throw WebException.CreateCompatibleException(ex); } }