Steamp3.Shoutcast.ResponseCallback C# (CSharp) Method

ResponseCallback() private method

private ResponseCallback ( IAsyncResult ar ) : void
ar IAsyncResult
return void
        private void ResponseCallback(IAsyncResult ar)
        {
            try
            {
                RequestState requestState = (RequestState)ar.AsyncState;
                HttpWebResponse response = (HttpWebResponse)requestState.Request.EndGetResponse(ar);

                requestState.Response = response;

                if (response.StatusDescription == "OK" && response.Headers.Count > 0)
                {
                    int metaInt = Global.StringToInt(response.GetResponseHeader("icy-metaint"));
                    string name = response.GetResponseHeader("icy-name");
                    string genre = response.GetResponseHeader("icy-genre");
                    string url = response.GetResponseHeader("icy-url");

                    OnHeaderReceived(metaInt, name, genre, url);

                    if (metaInt > 0)
                    {
                        Stream responseStream = response.GetResponseStream();

                        requestState.ResponseStream = responseStream;
                        requestState.MetaInt = metaInt;

                        responseStream.BeginRead(requestState.Buffer, 0, RequestState.BufferSize, new AsyncCallback(ReadCallback), requestState);
                        return;
                    }
                }
            }
            catch { }

            AllDone.Set();
        }