X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FCGI%2FMaypole.pm;h=6448480c16241561846d83feedcd720d265f2afd;hb=dd425b2cb6384f804cc1eea9e45660ed6baeb2f1;hp=5fd736d3e25681cd240c61d2d233252e46e0c613;hpb=0ce03c9aa8e988d951a1383c99287d5ca4fbdfba;p=maypole.git diff --git a/lib/CGI/Maypole.pm b/lib/CGI/Maypole.pm index 5fd736d..6448480 100644 --- a/lib/CGI/Maypole.pm +++ b/lib/CGI/Maypole.pm @@ -7,7 +7,7 @@ use CGI::Simple; use Maypole::Headers; use Maypole::Constants; -our $VERSION = '2.11'; +our $VERSION = '2.13'; __PACKAGE__->mk_accessors( qw/cgi/ ); @@ -54,10 +54,19 @@ Call this from your CGI script to start the Maypole application. =cut -sub run -{ - my $self = shift; - return $self->handler; +sub run { + my $self = shift; + my $status = $self->handler; + if ($status != OK) { + print <Maypole application error +

Maypole application error

+EOT + } + return $status; } =head1 Implementation @@ -71,9 +80,11 @@ functionality. See L for these: =cut -sub get_request -{ - shift->cgi( CGI::Simple->new ); +sub get_request { + my $self = shift; + my $request_options = $self->config->request_options || {}; + $CGI::Simple::POST_MAX = $request_options->{POST_MAX} if ($request_options->{POST_MAX}); + $self->cgi( CGI::Simple->new ); } =item parse_location @@ -92,7 +103,7 @@ sub parse_location $r->headers_in->set($field_name => $cgi->http($http_header)); } - $self->preprocess_location(); + $r->preprocess_location(); my $path = $cgi->url( -absolute => 1, -path_info => 1 ); my $loc = $cgi->url( -absolute => 1 );