]> iEval git - gruntmaster-page.git/blobdiff - lib/Gruntmaster/Page/Base.pm
Introduce Gruntmaster::Page::Generic
[gruntmaster-page.git] / lib / Gruntmaster / Page / Base.pm
index 89f8478e6c62ce5cfa9c01cd7dd542ed0a66e911..6ced6145a68eff7367d87293f4963258fa861985 100644 (file)
@@ -38,9 +38,10 @@ use LWP::UserAgent;
 my $ua = LWP::UserAgent->new;
 my %templates;
 
-sub import {
-       my $caller = caller;
-       my ($self, $name, $title) = @_;
+use Carp qw/cluck/;
+
+sub import_to {
+       my ($self, $caller, $name, $title) = @_;
 
        Gruntmaster::Data->export_to_level(1, $caller);
        List::Util->export_to_level(1, $caller, qw/sum/);
@@ -65,6 +66,12 @@ sub import {
        }
 }
 
+sub import {
+       return unless $_[0] eq __PACKAGE__;
+       splice @_, 1, 0, scalar caller;
+       goto &import_to
+}
+
 ##################################################
 
 sub generate{
@@ -74,11 +81,14 @@ sub generate{
        $self->_generate($htc, $lang, @args);
        my $out = $htc->output;
        utf8::downgrade($out);
-       [200, ['Content-Type' => 'text/html', 'Content-Language' => $_[1], 'Vary' => 'Accept-Language', 'X-Forever' => 1, 'Cache-Control' => 'max-age=' . $self->max_age], [ $out ] ]
+       my $vary = 'Accept-Language, ' . $self->vary;
+       [200, ['Content-Type' => 'text/html', 'Content-Language' => $_[1], 'Vary' => $vary, 'X-Forever' => 1, 'Cache-Control' => 'max-age=' . $self->max_age], [ $out ] ]
 }
 
 sub _generate {}
 
+sub vary { '' }
+
 sub max_age { 60 }
 
 sub variants {
This page took 0.022608 seconds and 4 git commands to generate.