/// <summary>
        /// This method returns a webresponse or throws an exception. In the case of an
        /// exception the stop watch is stop here
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public virtual WebResponse GetWebResponse(WebRequest request)
        {
            // execute the webrequest
            try
            {
#if !WINDOWS_PHONE
                // check the length
                if (request.ContentLength == -1)
                {
                    request.ContentLength = 0;
                    request.ContentType   = "";
                }
#endif

                // Notify
                WebRequestManager.Instance.NotifyWebRequestExecuting(request);

                // get the response
                return(WebRequestStreamHelper.GetResponse(request));
            }
            catch (WebException e)
            {
                // stop the watch
                StopStopWatch(null, null, e);

                // rethrow the exception
                throw e;
            }
        }
Exemplo n.º 2
0
        public static WebResponse GetResponse(WebRequest request)
        {
#if WINDOWS_PHONE
            return(WebRequestStreamHelper.GetResponseInternal(request));
#else
            return(request.GetResponse());
#endif
        }
Exemplo n.º 3
0
        public static Stream GetRequestStream(WebRequest request)
        {
#if WINDOWS_PHONE
            return(WebRequestStreamHelper.GetRequestStreamInternal(request));
#else
            return(request.GetRequestStream());
#endif
        }
Exemplo n.º 4
0
        /// <summary>
        /// This method returns a webrequest data stream and should be used in
        /// a using clause
        /// </summary>
        /// <param name="request"></param>
        /// <param name="length"></param>
        /// <returns></returns>
        public virtual WebRequestStream GetRequestStream(WebRequest request, long length)
        {
            // set the conten length
            request.ContentLength = length;

            // get the network stream
            var nwStream = WebRequestStreamHelper.GetRequestStream(request);

            // return the request streaM;
            var ws = new WebRequestStream(nwStream, request, this);

            // add pre dispose opp
            ws.PushPreDisposeOperation(DisposeWebRequestStreams, request, ws);

            // go ahead
            return(ws);
        }
        /// <summary>
        /// This method returns an response stream
        /// </summary>
        /// <param name="response"></param>
        /// <returns></returns>
        public virtual Stream GetResponseStream(WebResponse response)
        {
            Stream responseStream = null;

            try
            {
                // get the network stream
                Stream nwStream = WebRequestStreamHelper.GetResponseStream(response);

                // get the response stream
                responseStream = new WebResponseStream(nwStream, response, this);
            }
            catch (WebException)
            {
                return(null);
            }
            finally
            {
                StopStopWatch(response, responseStream, null);
            }

            // return the stream
            return(responseStream);
        }