- Made Weather Data asset more fault tollerant.

- Made CS related upgrades more fault tollerant.
 - Enhanced HTTP caching directives.
This commit is contained in:
JT Smith 2007-03-07 19:12:37 +00:00
parent 9031a17c35
commit 3a8bd77cde
6 changed files with 58 additions and 32 deletions

View file

@ -266,21 +266,26 @@ sub sendHeader {
$request->content_type($self->getMimeType || "text/html; charset=UTF-8");
my $cacheControl = $self->getCacheControl;
my $date = ($userId eq "1") ? $datetime->epochToHttp($self->getLastModified) : $datetime->epochToHttp;
$request->headers_out->set('Cache-Control' => "must-revalidate");
$request->headers_out->set('Last-Modified' => $date);
if ($cacheControl eq "none" || $self->session->setting->get("preventProxyCache") || ($cacheControl eq "" && $userId ne "1")) {
$request->headers_out->set("Cache-Control" => "private");
$request->no_cache(1);
} elsif ($cacheControl ne "" && $request->protocol =~ /(\d\.\d)/ && $1 >= 1.1){
my $extras = "";
$extras .= ", private" unless ($userId eq "1");
$request->headers_out->set('Cache-Control' => "max-age=" . $cacheControl.$extras);
} elsif ($cacheControl ne "") {
$request->headers_out->set("Cache-Control" => "private") unless ($userId eq "1");
my $date = $datetime->epochToHttp(time() + $cacheControl);
$request->headers_out->set('Expires' => $date);
}
# if ($cacheControl eq "none" || $self->session->setting->get("preventProxyCache") || ($cacheControl eq "" && $userId ne "1")) {
# $request->headers_out->set("Cache-Control" => "private");
# $request->no_cache(1);
# } elsif ($cacheControl ne "" && $request->protocol =~ /(\d\.\d)/ && $1 >= 1.1){
# my $extras = "";
# $extras .= ", private" unless ($userId eq "1");
# $request->headers_out->set('Cache-Control' => "must-revalidate, max-age=" . $cacheControl.$extras);
# } elsif ($cacheControl ne "") {
# if ($userId eq "1") {
# $request->headers_out->set("Cache-Control" => "must-revalidate");
# } else {
# $request->headers_out->set("Cache-Control" => "private");
# }
# my $date = $datetime->epochToHttp(time() + $cacheControl);
# $request->headers_out->set('Expires' => $date);
# }
if ($self->getFilename) {
$request->headers_out->set('Content-Disposition' => qq!attachment; filename="!.$self->getFilename().'"');
$request->headers_out->set('Content-Disposition' => qq{attachment; filename="}.$self->getFilename().'"');
}
$request->status($self->getStatus());
$request->status_line($self->getStatus().' '.$self->getStatusDescription());

View file

@ -191,6 +191,8 @@ if ($self->session->user->isInGroup(2) || $self->session->setting->get("preventP
<meta http-equiv="Expires" content="0" />
';
$self->session->http->setCacheControl("none");
} else {
$var{'head.tags'} .= '<meta http-equiv="Cache-Control" content="must-revalidate" />'
}
my $style = WebGUI::Asset::Template->new($self->session,$templateId);
my $output;