internal static bool IsCachedEntityExpiresInTheFuture(HTTPRequest request) { if (!IsSupported) { return(false); } CheckSetup(); HTTPCacheFileInfo info = null; rwLock.EnterReadLock(); try { if (!library.TryGetValue(request.CurrentUri, out info)) { return(false); } } finally { rwLock.ExitReadLock(); } return(info.WillExpireInTheFuture()); }
internal static bool IsCachedEntityExpiresInTheFuture(HTTPRequest request) { if (!IsSupported || request.DisableCache) { return(false); } CheckSetup(); HTTPCacheFileInfo info = null; rwLock.EnterReadLock(); try { if (!library.TryGetValue(request.CurrentUri, out info)) { return(false); } } finally { rwLock.ExitReadLock(); } return(info.WillExpireInTheFuture(request.State == HTTPRequestStates.ConnectionTimedOut || request.State == HTTPRequestStates.TimedOut || request.State == HTTPRequestStates.Error || (request.State == HTTPRequestStates.Finished && request.Response != null && request.Response.StatusCode >= 500))); }