]> git.decadent.org.uk Git - maypole.git/commitdiff
Added support for extra_headers (se Maypole pod)
authorMarcus Ramberg <mramberg@cpan.org>
Wed, 8 Dec 2004 19:45:43 +0000 (19:45 +0000)
committerMarcus Ramberg <mramberg@cpan.org>
Wed, 8 Dec 2004 19:45:43 +0000 (19:45 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@306 48953598-375a-da11-a14b-00016c27c3ee

Changes
lib/Apache/MVC.pm
lib/CGI/Maypole.pm
lib/Maypole.pm

diff --git a/Changes b/Changes
index 4c52c6be4cd2a98fd1731d80abe57dbf8457c3ef..d56550bd766591562929afb17cd4f9b2202c5650 100644 (file)
--- a/Changes
+++ b/Changes
@@ -14,6 +14,7 @@ Revision history for Perl extension Maypole
     - Check if has_a actually points to a Maypole::Model (Dave Howorth)
     - Only show buttons for public actions.
       (Dagfinn Ilmari MannsÃ¥ker)
+    - Added support for extra_headers
 
 
 2.04  Tue Oct 27 14:00:00 2004
index cd4e96d2fc0550af8a0cdf7d6f007148a284257f..0921412afbaf1f556d2e86f30a7de82664296433 100644 (file)
@@ -52,6 +52,11 @@ sub send_output {
     $r->{ar}->headers_out->set(
         "Content-Length" => do { use bytes; length $r->{output} }
     );
+    foreach my $header (keys %{$r->{extra_headers}}) {
+       $r->{ar}->headers_out->set(
+           "$header" => $r->{extra_headers}{$header}
+       );
+    }
     APACHE2 || $r->{ar}->send_http_header;
     $r->{ar}->print( $r->{output} );
 }
index 863bc10c66b3f1e201fa63f827fa2b7a3645e9ca..88abc3cebf7218ed1f8c419937834ca04c96d5bd 100644 (file)
@@ -40,10 +40,15 @@ sub parse_args {
 
 sub send_output {
     my $r = shift;
+    my %processed = map { "-".$_,$r->{extra_headers}{$_} } 
+                   keys %{$r->{extra_headers}};
     print $r->{cgi}->header(
         -type           => $r->{content_type},
         -charset        => $r->{document_encoding},
         -content_length => do { use bytes; length $r->{output} }, 
+       %processed 
+       ? %processed
+       : {}
     );
     print $r->{output};
 }
index e16dd829abc76ab7e3c6d1da9b40f0153cfc7e85..1665ca702573c60c9fbd9ae4a892956e72e64061 100644 (file)
@@ -11,7 +11,8 @@ our $VERSION = '2.05';
 __PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
 __PACKAGE__->mk_accessors(
     qw( ar params query objects model_class template_args output path
-      args action template error document_encoding content_type table)
+        args action template error document_encoding content_type table
+        extra_headers )
 );
 __PACKAGE__->config( Maypole::Config->new() );
 __PACKAGE__->init_done(0);
@@ -276,6 +277,10 @@ A list of remaining parts of the request path after table and action
 have been
 removed
 
+=head3 extra_headers
+
+A hash containing extra headers to be set on a request.
+
 =head3 parse_args
 
 Turns post data and query string paramaters into a hash of C<params>.