use Maypole::Headers;
use Maypole::Constants;
-our $VERSION = '2.11';
+our $VERSION = '2.13';
__PACKAGE__->mk_accessors( qw/cgi/ );
=cut
-sub run
-{
- my $self = shift;
- return $self->handler;
+sub run {
+ my $self = shift;
+ my $status = $self->handler;
+ if ($status != OK) {
+ print <<EOT;
+Status: 500 Maypole application error
+Content-Type: text/html
+
+<title>Maypole application error</h1>
+<h1>Maypole application error</h1>
+EOT
+ }
+ return $status;
}
=head1 Implementation
=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
$r->headers_in->set($field_name => $cgi->http($http_header));
}
+ $r->preprocess_location();
+
my $path = $cgi->url( -absolute => 1, -path_info => 1 );
my $loc = $cgi->url( -absolute => 1 );
{
no warnings 'uninitialized';
$path .= '/' if $path eq $loc;
- $path =~ s/^($loc)?\///;
+ if ($loc =~ /\/$/) {
+ $path =~ s/^($loc)?//;
+ } else {
+ $path =~ s/^($loc)?\///;
+ }
}
$r->path($path);