Public feed #723079

atsushieno

public text v1 · immutable
Raw Edit
·published 2007-10-02 14:43 UTC
rendered paste body
        public Statuses GetTimeline(DateTime since)

        {

            try

            {

                String responseBody = GET(String.Format("/statuses/friends_timeline.xml?since={0}", Utility.UrlEncode(since.ToUniversalTime().ToString("r"))));

                Statuses statuses;
                if (NilClasses.CanDeserialize(responseBody))

                {

                    statuses = new Statuses();

                    statuses.Status = new Status[0];

                }

                else

                {

                    statuses = Statuses.Serializer.Deserialize(new StringReader(responseBody)) as Statuses;

                    if (statuses == null || statuses.Status == null)

                    {

                        statuses = new Statuses();

                        statuses.Status = new Status[0];

                    }

                }

                responseBody = GET("/statuses/replies.xml");

                if (!NilClasses.CanDeserialize(responseBody))

                {

                    Statuses replies = Statuses.Serializer.Deserialize(new StringReader(responseBody)) as Statuses;

                    if (statuses != null && statuses.Status != null)

                    {
						List<Status> merged = new List<Status> ();
						merged.AddRange (statuses.Status);
						merged.AddRange (replies.Status);
						statuses.Status = merged.ToArray ();
                    }

                }



                return statuses;

            }

            catch (WebException we)

            {

                throw;

            }

            catch (InvalidOperationException ioe)

            {

                // XmlSerializer

                throw new TwitterServiceException(ioe);

            }

            catch (XmlException xe)

            {

                throw new TwitterServiceException(xe);

            }

            catch (IOException ie)

            {

                throw new TwitterServiceException(ie);

            }

        }