private void ReadCallback(IAsyncResult asynchronousResult)
{
ErrorCode = Constants.NoError;
HttpWebRequest webrequest = (HttpWebRequest)asynchronousResult.AsyncState;
try
{
HttpWebResponse response = (HttpWebResponse)webrequest.EndGetResponse(asynchronousResult); // WebException
if (response.StatusCode != HttpStatusCode.OK && response.StatusCode != HttpStatusCode.Created)
{
throw new WebException("Not 20x response code");
}
if (response == null)
{
throw new WebException("Null response");
}
StreamReader reader = new StreamReader(response.GetResponseStream());
ResponseText = reader.ReadToEnd(); // IOException
reader.Close();
response.Close();
}
catch (WebException ex)
{
ErrorCode = Constants.HttpError;
setErrorDescription(ex, "Ex3");
}
catch (IOException ex)
{
ErrorCode = Constants.IOError;
setErrorDescription(ex, "Ex3");
}
catch (Exception ex)
{
ErrorCode = Constants.OtherError;
setErrorDescription(ex, "Ex3");
}
SetFileStatus();
}