X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=cgi%2Fbugreport.cgi;h=cae46f9af0ff03ab7eb3d5898a9d98ca80d3defc;hb=5e2295f19fdcf5c870e8bcfdb56a22ed991bad97;hp=ef0341c25facad894c8c7ed0294c6467fcfbc66e;hpb=05f158937d8e18b9bec70594f465fc078ed3bc59;p=debbugs.git diff --git a/cgi/bugreport.cgi b/cgi/bugreport.cgi index ef0341c..cae46f9 100755 --- a/cgi/bugreport.cgi +++ b/cgi/bugreport.cgi @@ -60,8 +60,8 @@ my %param = cgi_parameters(query => $q, ); # This is craptacular. -my $ref = $param{bug} or quitcgi("No bug number"); -$ref =~ /(\d+)/ or quitcgi("Invalid bug number"); +my $ref = $param{bug} or quitcgi("No bug number", '400 Bad Request'); +$ref =~ /(\d+)/ or quitcgi("Invalid bug number", '400 Bad Request'); $ref = $1; my $short = "#$ref"; my ($msg) = $param{msg} =~ /^(\d+)$/ if exists $param{msg}; @@ -146,7 +146,12 @@ $etag = ], ); if (not $etag) { - print $q->header(-status => 304); + print $q->header(-status => 304, + -cache_control => 'public, max-age=600', + -etag => $etag, + -charset => 'utf-8', + -content_type => 'text/html', + ); print "304: Not modified\n"; exit 0; } @@ -156,6 +161,7 @@ if ($q->request_method() eq 'HEAD' and not defined($att) and not $mbox) { print $q->header(-status => 200, -cache_control => 'public, max-age=600', -etag => $etag, + -charset => 'utf-8', -content_type => 'text/html', ); exit 0; @@ -220,7 +226,7 @@ if ( $mbox ) { binmode(STDOUT,":raw"); my $date = strftime "%a %b %d %T %Y", localtime; if (@records > 1) { - print $q->header(-type => "text/plain", + print $q->header(-type => "application/mbox", -cache_control => 'public, max-age=600', -etag => $etag, content_disposition => qq(attachment; filename="bug_${ref}.mbox"),