X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FDoIndex.pm;h=5aba6b3b0dc69588320b50a6e0210db114cede79;hb=bdd25f6c37620759536c4ad84687a9a050732cf8;hp=164e594884d5c35021aeb55741af60f410d1ab1d;hpb=92a6b3d4b5bcd96dfe05ee814722e5e0e47e1d3f;p=deb%2Fpackages.git diff --git a/lib/Packages/DoIndex.pm b/lib/Packages/DoIndex.pm index 164e594..5aba6b3 100644 --- a/lib/Packages/DoIndex.pm +++ b/lib/Packages/DoIndex.pm @@ -4,11 +4,11 @@ use strict; use warnings; use CGI qw( :cgi ); +use POSIX qw( strftime ); use Exporter; use Deb::Versions; use Packages::Config qw( $TOPDIR ); -use Packages::I18N::Locale; use Packages::CGI; our @ISA = qw( Exporter ); @@ -40,6 +40,9 @@ sub send_file { "@{$opts->{suite}}" ) ); } + if ($opts->{format} eq 'txt.gz') { + $opts->{po_lang} = 'en'; + } my $wwwdir = "$TOPDIR/www"; my $path = ""; $path .= "source/" if $opts->{source}; @@ -47,12 +50,7 @@ sub send_file { $path .= "$opts->{archive}[0]/" if @{$opts->{archive}} == 1; $path .= "$opts->{subsection}[0]/" if @{$opts->{subsection}}; $path .= "$opts->{priority}[0]/" if @{$opts->{priority}}; - - #FIXME: ugly hack - if ($opts->{lang} ne 'en' and !-f "$wwwdir/$path$file.$opts->{lang}.$opts->{format}") { - $opts->{lang} = 'en'; - } - $path .= "$file.$opts->{lang}.$opts->{format}"; + $path .= "$file.$opts->{po_lang}.$opts->{format}"; unless (@Packages::CGI::fatal_errors) { my $buffer; @@ -63,7 +61,9 @@ sub send_file { $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;