Ejemplo n.º 1
0
        internal static IHeaderDictionary AddMutatorHeaders <T>(this IHeaderDictionary headers, Mutator mutator) where T : Data <T>
        {
            if (mutator.Transform.Pagination == null)
            {
                return(headers);
            }

            var count = Data <T> .Count(mutator);

            var pages = count < 2 ? count : (int)((count - 1) / mutator.Transform.Pagination.Size) + 1;

            headers.AddHeader("x-zen-pagination",
                              new
            {
                page = mutator.Transform.Pagination.Index,
                size = mutator.Transform.Pagination.Size,
                count,
                pages
            });

            headers.AddHeader("X-Total-Count", count);
            headers.AddHeader("X-Total-Pages", pages);

            return(headers);
        }
Ejemplo n.º 2
0
        internal static IHeaderDictionary AddHeaders(this IHeaderDictionary headers, Dictionary <string, object> payload)
        {
            if (payload == null)
            {
                return(headers);
            }

            foreach (var(key, value) in payload)
            {
                headers.AddHeader(key, value);
            }

            return(headers);
        }