public static void AddPaginationHeader <T>( this IHeaderDictionary headers, IPagedCollection <T> items, string routeName, PagedQueryParams queryParams, IUrlHelper urlHelper) { if (headers is null) { throw new ArgumentNullException(nameof(headers)); } if (items is null) { throw new ArgumentNullException(nameof(items)); } if (string.IsNullOrEmpty(routeName)) { throw new ArgumentException("Expected non-null/empty route name", nameof(routeName)); } if (queryParams is null) { throw new ArgumentNullException(nameof(queryParams)); } if (urlHelper is null) { throw new ArgumentNullException(nameof(urlHelper)); } headers.Add(items.ToPaginationHeader(routeName, queryParams, urlHelper).ToKeyValuePair()); }
public static void AddPaginationHeader <T>( this HttpResponse response, IPagedCollection <T> items, string routeName, PagedQueryParams query, IUrlHelper url) { if (response is null) { throw new ArgumentNullException(nameof(response)); } if (items is null) { throw new ArgumentNullException(nameof(items)); } if (string.IsNullOrEmpty(routeName)) { throw new ArgumentException($"'{routeName}' required", nameof(routeName)); } if (query is null) { throw new ArgumentNullException(nameof(query)); } if (url is null) { throw new ArgumentNullException(nameof(url)); } response.Headers.Add(items.ToPaginationHeader(routeName, query, url).ToKeyValuePair()); }