ServiceStack.HttpCacheFeature.BuildCacheControlHeader C# (CSharp) Метод

BuildCacheControlHeader() публичный Метод

public BuildCacheControlHeader ( ServiceStack.CacheInfo cacheInfo ) : string
cacheInfo ServiceStack.CacheInfo
Результат string
        public string BuildCacheControlHeader(CacheInfo cacheInfo)
        {
            var maxAge = cacheInfo.MaxAge;
            if (maxAge == null && (cacheInfo.LastModified != null || cacheInfo.ETag != null))
                maxAge = DefaultMaxAge;

            var cacheHeader = new List<string>();
            if (maxAge != null)
                cacheHeader.Add("max-age=" + maxAge.Value.TotalSeconds);

            if (cacheInfo.CacheControl != CacheControl.None)
            {
                var cache = cacheInfo.CacheControl;
                if (cache.Has(CacheControl.Public))
                    cacheHeader.Add("public");
                else if (cache.Has(CacheControl.Private))
                    cacheHeader.Add("private");

                if (cache.Has(CacheControl.MustRevalidate))
                    cacheHeader.Add("must-revalidate");
                if (cache.Has(CacheControl.NoCache))
                    cacheHeader.Add("no-cache");
                if (cache.Has(CacheControl.NoStore))
                    cacheHeader.Add("no-store");
                if (cache.Has(CacheControl.NoTransform))
                    cacheHeader.Add("no-transform");
                if (cache.Has(CacheControl.ProxyRevalidate))
                    cacheHeader.Add("proxy-revalidate");
            }

            if (cacheHeader.Count <= 0)
                return null;

            var cacheControl = cacheHeader.ToArray().Join(", ");
            return CacheControlFilter != null 
                ? CacheControlFilter(cacheControl) 
                : cacheControl;
        }
    }