Exemple #1
0
        /// <summary>
        /// Utility function to set the cache control headers according to the spec.: http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.3.4
        /// </summary>
        /// <param name="request"></param>
        internal static void SetHeaders(HTTPRequest request)
        {
            if (!IsSupported)
            {
                return;
            }

            CheckSetup();

            request.RemoveHeader("If-None-Match");
            request.RemoveHeader("If-Modified-Since");

            HTTPCacheFileInfo info = null;

            rwLock.EnterReadLock();
            try
            {
                if (!library.TryGetValue(request.CurrentUri, out info))
                {
                    return;
                }
            }
            finally
            {
                rwLock.ExitReadLock();
            }

            info.SetUpRevalidationHeaders(request);
        }