+ my $last_modified = $Packages::DB::db_read_time;
+ my $now = time;
+ my $expires = $last_modified + (12*3600);
+ $expires = $now + 3600 if $expires < $now;
+ # allow some fudge, since the db mod time is not the end of
+ # the cron job
+ $last_modified = $now if $now - $last_modified < 3600;
+
+ if ($input->http('If-Modified-Since') and
+ (my $client_timestamp = str2time($input->http('If-Modified-Since'), 'UTC'))) {
+ if ($client_timestamp >= $last_modified) {
+ # we are not modified since asked -> return "304 Not Modified"
+ print $input->header(-status => 304);
+ exit;
+ }
+ }