Example #1
0
        public WebRequestServiceResponse PostData(HttpWebRequest request,
                                                  string json,
                                                  bool suppressNetworkErrors,
                                                  bool suppressExceptions,
                                                  bool notifyUser = false)
        {
            var response = new WebRequestServiceResponse();

            try {
                _networkEventBroadcaster.RaiseNetworkUsageStart();

                using (var streamWriter = new StreamWriter(request.GetRequestStream())) {
                    streamWriter.Write(json);
                    streamWriter.Flush();
                    streamWriter.Close();

                    using (HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse()) {
                        response = new WebRequestServiceResponse(null, webResponse.StatusCode, webResponse.StatusDescription);

                        if (webResponse.StatusCode == HttpStatusCode.OK)
                        {
                            using (StreamReader streamReader = new StreamReader(webResponse.GetResponseStream())) {
                                var content = streamReader.ReadToEnd();
                                if (!string.IsNullOrWhiteSpace(content))
                                {
                                    response.Data = content;
                                }
                            }
                        }
                    }
                }
            }
            catch (WebException ex) {
                if (!suppressNetworkErrors)
                {
                    _networkEventBroadcaster.RaiseNetworkErrorEvent(ex, notifyUser);
                }

                if (!suppressExceptions)
                {
                    throw;
                }
            }
            catch (Exception ex) {
                if (!suppressExceptions)
                {
                    _networkEventBroadcaster.RaiseErrorEvent(ex, notifyUser);
                }

                if (!suppressExceptions)
                {
                    throw;
                }
            }
            finally {
                _networkEventBroadcaster.RaiseNetworkUsageEnd();
            }

            return(response);
        }
Example #2
0
        public WebRequestServiceResponse PostData(HttpWebRequest request,
                                                  object objectToPost,
                                                  bool suppressNetworkErrors,
                                                  bool suppressExceptions,
                                                  bool notifyUser = false)
        {
            var response = new WebRequestServiceResponse();

            try {
                _networkEventBroadcaster.RaiseNetworkUsageStart();

                var errorInfo = SerializeObject(objectToPost);

                using (var streamWriter = new StreamWriter(request.GetRequestStream())) {
                    streamWriter.Write(errorInfo);
                    streamWriter.Flush();
                    streamWriter.Close();

                    using (HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse()) {
                        response = new WebRequestServiceResponse(null, webResponse.StatusCode, webResponse.StatusDescription);
                        // Nothing else to do here
                    }
                }
            }
            catch (WebException ex) {
                if (!suppressNetworkErrors)
                {
                    _networkEventBroadcaster.RaiseNetworkErrorEvent(ex, notifyUser);
                }

                if (!suppressExceptions)
                {
                    throw;
                }
            }
            catch (Exception ex) {
                if (!suppressExceptions)
                {
                    _networkEventBroadcaster.RaiseErrorEvent(ex, notifyUser);
                }

                if (!suppressExceptions)
                {
                    throw;
                }
            }
            finally {
                _networkEventBroadcaster.RaiseNetworkUsageEnd();
            }

            return(response);
        }