212: def find_in_cache(request)
213:
214: return nil unless cache? and ! request.ignore_cache? and cached = cache.find(request)
215: if cached.expired?
216: Puppet.info "Not using expired #{self.name} for #{request.key} from cache; expired at #{cached.expiration}"
217: return nil
218: end
219:
220: Puppet.debug "Using cached #{self.name} for #{request.key}"
221: cached
222: rescue => detail
223: puts detail.backtrace if Puppet[:trace]
224: Puppet.err "Cached #{self.name} for #{request.key} failed: #{detail}"
225: nil
226: end