public PagedResponse(MaestroApi client, Func <HttpRequestMessage, HttpResponseMessage, Task> onFailure, IHttpOperationResponse <IImmutableList <T> > response)
        {
            _onFailure = onFailure;
            Client     = client;
            Values     = response.Body;
            var linkHeader = response.Response.Headers.GetValues("Link");
            var links      = ParseLinkHeader(linkHeader).ToList();

            FirstPageLink = links.FirstOrDefault(t => t.rel == "first").href;
            PrevPageLink  = links.FirstOrDefault(t => t.rel == "prev").href;
            NextPageLink  = links.FirstOrDefault(t => t.rel == "next").href;
            LastPageLink  = links.FirstOrDefault(t => t.rel == "last").href;
        }
Beispiel #2
0
        public PagedResponse(MaestroApi client, Func <Request, Response, Task> onFailure, Response response, IImmutableList <T> values)
        {
            _onFailure = onFailure;
            Client     = client;
            Values     = values;
            if (!response.Headers.TryGetValues("Link", out var linkHeader))
            {
                return;
            }
            var links = ParseLinkHeader(linkHeader).ToList();

            FirstPageLink = links.FirstOrDefault(t => t.rel == "first").href;
            PrevPageLink  = links.FirstOrDefault(t => t.rel == "prev").href;
            NextPageLink  = links.FirstOrDefault(t => t.rel == "next").href;
            LastPageLink  = links.FirstOrDefault(t => t.rel == "last").href;
        }