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; }
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; }