summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <sven.wegener@stealer.net>2008-07-14 00:18:53 +0200
committerSven Wegener <sven.wegener@stealer.net>2010-12-12 23:49:28 +0100
commit759eabcbc708f3d811729290a918dc1923248623 (patch)
tree3121c6b72222b0ac813d5292d18316e4d8074eae
parent033ce24503b249b9c34de4a913bef3a40d9803aa (diff)
gitweb: Add Expires header to 'tree' pagesgitweb/more-expires
Tree pages requested with non-textual hash ids can be cached. Just checking $hash_base is enough, because $hash is either calculated from the $file_name/$hash_base combination, set to $hash_base or passed as a hash id by gitweb. Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
-rwxr-xr-xgitweb/gitweb.perl5
1 files changed, 4 insertions, 1 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 5fa3ce34fc..ed6bc4adec 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -5644,8 +5644,11 @@ sub git_blob {
}
sub git_tree {
+ my $expires;
if (!defined $hash_base) {
$hash_base = "HEAD";
+ } elsif ($hash_base =~ m/^[0-9a-fA-F]{40}$/) {
+ $expires = "+1d";
}
if (!defined $hash) {
if (defined $file_name) {
@@ -5672,7 +5675,7 @@ sub git_tree {
my $refs = git_get_references();
my $ref = format_ref_marker($refs, $hash_base);
- git_header_html();
+ git_header_html(undef, $expires);
my $basedir = '';
if (defined $hash_base && (my %co = parse_commit($hash_base))) {
my @views_nav = ();