use warnings;
use CGI qw( :cgi );
+use POSIX qw( strftime );
use Exporter;
use Deb::Versions;
use Packages::CGI;
our @ISA = qw( Exporter );
-our @EXPORT = qw( do_index do_allpackages );
+our @EXPORT = qw( do_homepage do_index do_allpackages );
+
+sub do_homepage {
+ $_[1]->{suite} = [];
+ return send_file( 'index', @_ );
+}
sub do_index {
return send_file( 'index', @_ );
my $wwwdir = "$TOPDIR/www";
my $path = "";
$path .= "source/" if $opts->{source};
- $path .= "$opts->{suite}[0]/";
+ $path .= "$opts->{suite}[0]/" if @{$opts->{suite}};
$path .= "$opts->{archive}[0]/" if @{$opts->{archive}} == 1;
$path .= "$opts->{subsection}[0]/" if @{$opts->{subsection}};
$path .= "$opts->{priority}[0]/" if @{$opts->{priority}};
$headers{'-content-encoding'} = $encoding{$opts->{format}} if exists $encoding{$opts->{format}};
my ($size,$mtime) = (stat("$wwwdir/$path"))[7,9];
$headers{'-content-length'} = $size;
- $headers{'-last-modified'} = gmtime($mtime);
+ $headers{'-vary'} = 'negotiate,accept-language';
+ $headers{'-last-modified'} = strftime("%a, %d %b %Y %T %z", localtime($mtime));
+ $headers{'-expires'} = strftime("%a, %d %b %Y %T %z", localtime($mtime+(12*3600)));
print header( %headers );
binmode INDEX;