]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/DoIndex.pm
Packages::Dispatcher: Send 304 header if possible
[deb/packages.git] / lib / Packages / DoIndex.pm
index 6d8d4b6dc112ee36c18188956a35f1f34a83cad8..e1c5b6d3667ef650ace6d0ead1b2231684128259 100644 (file)
@@ -8,7 +8,6 @@ use Exporter;
 
 use Deb::Versions;
 use Packages::Config qw( $TOPDIR );
-use Packages::I18N::Locale;
 use Packages::CGI;
 
 our @ISA = qw( Exporter );
@@ -40,6 +39,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,18 +49,13 @@ 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;
        if (open( INDEX, '<', "$wwwdir/$path" )) {
            my %headers;
-           $headers{'-charset'} = get_charset( $opts->{lang} );
+           $headers{'-charset'} = 'UTF-8';
            $headers{'-type'} = get_mime( $opts->{format}, 'text/plain' );
            $headers{'-content-encoding'} = $encoding{$opts->{format}} if exists $encoding{$opts->{format}};
            my ($size,$mtime) = (stat("$wwwdir/$path"))[7,9];