]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Apache/MVC.pm
apache2 logging fix
[maypole.git] / lib / Apache / MVC.pm
index 3ea2d28479dc28d49430c893ba6b7fc18765b3ae..db2bbed641fec4f064b405764f518b6ba4f7cd3f 100644 (file)
@@ -27,6 +27,7 @@ BEGIN {
      }
      require Apache2::RequestIO;
      require Apache2::RequestRec;
+     use Apache2::Log;
      require Apache2::RequestUtil;
      eval 'use Apache2::Const -compile => qw/REDIRECT/;'; # -compile 4 no import
      require APR::URI;
@@ -116,9 +117,15 @@ sub warn {
   my ($package, $line) = (caller)[0,2];
   my $ar = $self->parent ? $self->parent->{ar} : $self->{ar};
   if ( $args[0] and ref $self ) {
+    my @lines = split /\n/, (join '', @args);
+    $ar->warn("[$package line $line] ".shift(@lines));
+    foreach(@lines) {
+      next unless $_;
+      $ar->warn(" $_");
+    }
     $ar->warn("[$package line $line] ", @args) ;
   } else {
-    print "warn called by ", caller, " with ", @_, "\n";
+    print STDERR "warn called by ", caller, " with ", @_, "\n";
   }
   return;
 }
@@ -197,8 +204,7 @@ can only be combined with status.
 sub redirect_request {
   my $r = shift;
   my $redirect_url = $_[0];
-  my $status = $MODPERL2 ? eval 'Apache2::Const::REDIRECT;' :
-          eval 'Apache::Constants::REDIRECT;'; # why have to eval this?
+  my $status = $MODPERL2 ? eval 'Apache2::Const::REDIRECT;' : eval 'Apache::Constants::REDIRECT;';
   if ($_[1]) {
     my %args = @_;
     if ($args{url}) {
@@ -218,6 +224,7 @@ sub redirect_request {
 
   $r->ar->status($status);
   $r->ar->headers_out->set('Location' => $redirect_url);
+  $r->output('<html><head><title>redirecting...</title></head><body><h2>redirecting..</h2></body></html>') unless ($r->output);
   return OK;
 }