Example #1
0
        /// <summary>
        /// Executes a request given the configuration options supplied.
        /// </summary>
        /// <returns>
        /// A <see cref="Stream"/>
        /// </returns>
        public IResponse ExecuteRequest()
        {
            AutoResetEvent      waitHandle = new AutoResetEvent(false);
            IAsyncRequestResult result     = null;

            ExecuteRequestAsync(r =>
            {
                result = r;
                waitHandle.Set();
            });
            waitHandle.WaitOne();
            return(result.GetResponse());
        }
        /// <summary>
        /// Receives a response synchronously.
        /// </summary>
        /// <returns>The received response.</returns>
        private IResponse GetResponse()
        {
            AutoResetEvent      waitHandle = new AutoResetEvent(false);
            IAsyncRequestResult result     = null;

            GetAsyncResponse(r =>
            {
                result = r;
                waitHandle.Set();
            });
            waitHandle.WaitOne();
            return(result.GetResponse());
        }