コード例 #1
0
        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());
        }
コード例 #2
0
        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());
        }