public InvalidServerResponseException(string message, ServerResponse response, Exception innerException)
     : base(message, innerException)
 {
     serverResponse = response;
 }
        public ServerResponse getResponse(HttpWebRequest request, bool isBinaryResult)
        {
            HttpWebResponse response = null;

            try
            {
                if (request != null)
                {
                    response = request.GetResponse() as HttpWebResponse;
                }
            }
            catch (WebException ex)
            {
                response = ex.Response as HttpWebResponse;
            }

            var result = new ServerResponse();

            if (response != null)
            {
                result.contentType = response.ContentType;

                if (isBinaryResult)
                {
                    result.isBinaryResult = true;

                    var buffer = new byte[32768];
                    using (var ms = new MemoryStream())
                    {
                        while (true)
                        {
                            var responseStream = response.GetResponseStream();
                            if (responseStream == null)
                            {
                                continue;
                            }
                            var read = responseStream.Read(buffer, 0, buffer.Length);

                            if (read <= 0)
                            {
                                result.contentBytes = ms.ToArray();

                                break;
                            }

                            ms.Write(buffer, 0, read);
                        }
                    }

                    result.contentString = null;
                }
                else
                {
                    result.isBinaryResult = false;
                    result.contentBytes   = null;

                    using (var reader = new StreamReader(response.GetResponseStream()))
                    {
                        result.contentString = reader.ReadToEnd();
                    }
                }
            }

            return(result);
        }
 public InvalidServerResponseException(string message, ServerResponse response)
     : base(message)
 {
     serverResponse = response;
 }