]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/CGI/Maypole.pm
Maypole::Application supports Maypole::HTTPD (which needs a patch).
[maypole.git] / lib / CGI / Maypole.pm
index 9b2ee7988faaf69d7f8451d06436758219094468..b8a0a48d3d40d6351f00d4533c0ca16e2953ab59 100644 (file)
@@ -7,9 +7,9 @@ use CGI::Simple;
 use Maypole::Headers;
 use Maypole::Constants;
 
-our $VERSION = '2.10';
+our $VERSION = '2.11';
 
-__PACKAGE__->mk_accessors( qw( cgi ) );
+__PACKAGE__->mk_accessors( qw/cgi/ );
 
 =head1 NAME
 
@@ -164,12 +164,28 @@ sub get_protocol
 
 =item send_output
 
+Generates output (using C<collect_output>) and prints it. 
+
 =cut
 
 sub send_output 
 {
     my $r = shift;
+    print $r->collect_output;
+}
+
+=item collect_output
+
+Gathers headers and output together into a string and returns it.
+
+Splitting this code out of C<send_output> supports L<Maypole::HTTPD::Frontend>.
 
+=cut
+
+sub collect_output
+{
+    my $r = shift;
+    
     # Collect HTTP headers
     my %headers = (
         -type            => $r->content_type,
@@ -181,7 +197,7 @@ sub send_output
         $headers{"-$_"} = $r->headers_out->get($_);
     }
 
-    print $r->cgi->header(%headers), $r->output;
+    return $r->cgi->header(%headers) . $r->output;
 }
 
 =item get_template_root