X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole.pm;h=de7fbebd5938fa46625919fe4c94869c3a8468ae;hb=b91bc53de6872ec4b22779382f6955b3af7c6fd5;hp=1665ca702573c60c9fbd9ae4a892956e72e64061;hpb=271fd90b8a1b9f843853601a75a1334407ff87c4;p=maypole.git diff --git a/lib/Maypole.pm b/lib/Maypole.pm index 1665ca7..de7fbeb 100644 --- a/lib/Maypole.pm +++ b/lib/Maypole.pm @@ -5,6 +5,7 @@ use strict; use warnings; use Maypole::Config; use Maypole::Constants; +use Maypole::Headers; our $VERSION = '2.05'; @@ -12,7 +13,7 @@ __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 - extra_headers ) + headers_in headers_out ) ); __PACKAGE__->config( Maypole::Config->new() ); __PACKAGE__->init_done(0); @@ -62,6 +63,7 @@ sub handler { my ( $class, $req ) = @_; $class->init unless $class->init_done; my $r = bless { template_args => {}, config => $class->config }, $class; + $r->headers_out(Maypole::Headers->new); $r->get_request($req); $r->parse_location(); my $status = $r->handler_guts(); @@ -183,6 +185,7 @@ sub parse_path { shift @pi while @pi and !$pi[0]; $self->{table} = shift @pi; $self->{action} = shift @pi; + $self->{action} = "index" unless $self->{action}; $self->{args} = \@pi; } @@ -277,9 +280,13 @@ A list of remaining parts of the request path after table and action have been removed -=head3 extra_headers +=head3 headers_in -A hash containing extra headers to be set on a request. +A L object containing HTTP headers for the request + +=head3 headers_out + +A L object that contains HTTP headers for the output =head3 parse_args