示例#1
0
        public Pages(HttpResponseHeaders headers)
        {
            if (headers.Contains("Link"))
            {
                var links = headers.ParseLinkHeaders(new Uri("https://api.github.com/"), new LinkRegistry());

                var nextLink = links.SingleOrDefault(link => link.Relation == "next");
                var firstLink = links.SingleOrDefault(link => link.Relation == "first");
                var lastLink = links.SingleOrDefault(link => link.Relation == "last");
                var previousLink = links.SingleOrDefault(link => link.Relation == "prev");

                if (nextLink != null) Next = Convert.ToInt32(nextLink.Target.ParseQueryString()["page"]);
                if (firstLink != null) First = Convert.ToInt32(firstLink.Target.ParseQueryString()["page"]);
                if (lastLink != null) Last = Convert.ToInt32(lastLink.Target.ParseQueryString()["page"]);
                if (previousLink != null) Previous = Convert.ToInt32(previousLink.Target.ParseQueryString()["page"]);
            }
        }