fix [ 1489528 ] HTTP header contains invalid time-stamp
This commit is contained in:
parent
6ba68835e0
commit
61050f1aed
3 changed files with 23 additions and 2 deletions
|
|
@ -29,6 +29,7 @@
|
||||||
- The CS main listing is now 863% faster.
|
- The CS main listing is now 863% faster.
|
||||||
- Fixed a problem where last reply column wasn't being updated in the thread.
|
- Fixed a problem where last reply column wasn't being updated in the thread.
|
||||||
- fix [ 1488556 ] blank page after setup
|
- fix [ 1488556 ] blank page after setup
|
||||||
|
- fix [ 1489528 ] HTTP header contains invalid time-stamp
|
||||||
|
|
||||||
|
|
||||||
6.99.0
|
6.99.0
|
||||||
|
|
|
||||||
|
|
@ -261,6 +261,26 @@ sub DESTROY {
|
||||||
undef $self;
|
undef $self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 epochToHttp ( epcoh )
|
||||||
|
|
||||||
|
Converts and epoch date into an HTTP formatted date.
|
||||||
|
|
||||||
|
=head3 epoch
|
||||||
|
|
||||||
|
An epoch date. Defaults to now.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub epochToHttp {
|
||||||
|
my $self = shift;
|
||||||
|
my $epoch = shift || time();
|
||||||
|
my $timeZone = $self->session->user->profileField("timeZone") || "America/Chicago";
|
||||||
|
my $dt = DateTime->from_epoch( epoch=>$epoch, time_zone=>$timeZone);
|
||||||
|
$dt->set_time_zone("GMT");
|
||||||
|
return $dt->strftime("%a, %d %b %Y %H:%m:%S GMT");
|
||||||
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ sub sendHeader {
|
||||||
$request->status(301);
|
$request->status(301);
|
||||||
} else {
|
} else {
|
||||||
$request->content_type($self->{_http}{mimetype} || "text/html");
|
$request->content_type($self->{_http}{mimetype} || "text/html");
|
||||||
my $date = $self->session->datetime->epochToHuman(($self->{_http}{lastModified} || time()), "%W, %d %C %y %j:%m:%s %t");
|
my $date = $self->session->datetime->epochToHttp($self->{_http}{lastModified});
|
||||||
my $cc = $self->{_http}{cacheControl};
|
my $cc = $self->{_http}{cacheControl};
|
||||||
$request->headers_out->set('Last-Modified' => $date);
|
$request->headers_out->set('Last-Modified' => $date);
|
||||||
if ($cc eq "none" || $self->session->setting->get("preventProxyCache") || ($cc eq "" && $self->session->var->get("userId") ne "1")) {
|
if ($cc eq "none" || $self->session->setting->get("preventProxyCache") || ($cc eq "" && $self->session->var->get("userId") ne "1")) {
|
||||||
|
|
@ -195,7 +195,7 @@ sub sendHeader {
|
||||||
$request->headers_out->set('Cache-Control' => "max-age=" . $cc.$extras);
|
$request->headers_out->set('Cache-Control' => "max-age=" . $cc.$extras);
|
||||||
} elsif ($cc ne "") {
|
} elsif ($cc ne "") {
|
||||||
$request->headers_out->set("Cache-Control" => "private") unless ($self->session->var->get("userId") eq "1");
|
$request->headers_out->set("Cache-Control" => "private") unless ($self->session->var->get("userId") eq "1");
|
||||||
my $date = $self->session->datetime->epochToHuman(time() + $cc, "%W, %d %C %y %j:%m:%s %t");
|
my $date = $self->session->datetime->epochToHttp(time() + $cc);
|
||||||
$request->headers_out->set('Expires' => $date);
|
$request->headers_out->set('Expires' => $date);
|
||||||
}
|
}
|
||||||
if ($self->{_http}{filename}) {
|
if ($self->{_http}{filename}) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue