new middleware
John Napiorkowski [Tue, 21 Jan 2014 23:45:55 +0000 (17:45 -0600)]
Makefile.PL
lib/Catalyst.pm

index 3d06b69..01ea024 100644 (file)
@@ -75,6 +75,14 @@ requires 'Stream::Buffered';
 requires 'Hash::MultiValue';
 requires 'Plack::Request::Upload';
 requires 'CGI::Struct';
+requires "Plack::Middleware::Conditional";
+requires "Plack::Middleware::IIS6ScriptNameFix";
+requires "Plack::Middleware::IIS7KeepAliveFix";
+requires "Plack::Middleware::LighttpdScriptNameFix";
+requires "Plack::Middleware::ContentLength";
+requires "Plack::Middleware::Head";
+requires "Plack::Middleware::HTTPExceptions";
+requires "Plack::Middleware::FixMissingBodyInRedirect";
 
 test_requires 'Test::Fatal';
 test_requires 'Test::More' => '0.88';
index 39d513d..499e49a 100644 (file)
@@ -44,6 +44,7 @@ use Plack::Middleware::LighttpdScriptNameFix;
 use Plack::Middleware::ContentLength;
 use Plack::Middleware::Head;
 use Plack::Middleware::HTTPExceptions;
+use Plack::Middleware::FixMissingBodyInRedirect;
 use Plack::Util;
 use Class::Load 'load_class';
 
@@ -1935,23 +1936,6 @@ sub finalize_headers {
     if ( my $location = $response->redirect ) {
         $c->log->debug(qq/Redirecting to "$location"/) if $c->debug;
         $response->header( Location => $location );
-
-        if ( !$response->has_body ) {
-            # Add a default body if none is already present
-            my $encoded_location = encode_entities($location);
-            $response->body(<<"EOF");
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"> 
-  <head>
-    <title>Moved</title>
-  </head>
-  <body>
-     <p>This item has moved <a href="$encoded_location">here</a>.</p>
-  </body>
-</html>
-EOF
-            $response->content_type('text/html; charset=utf-8');
-        }
     }
 
     # Remove incorrectly added body and content related meta data when returning
@@ -3128,6 +3112,7 @@ sub registered_middlewares {
     if(my $middleware = $class->_psgi_middleware) {
         return (
           Plack::Middleware::HTTPExceptions->new,
+          Plack::Middleware::FixMissingBodyInRedirect->new,
           Plack::Middleware::ContentLength->new,
           Plack::Middleware::Head->new,
           @$middleware);
@@ -3951,6 +3936,8 @@ rainboxx: Matthias Dietrich, C<perl@rainboxx.de>
 
 dd070: Dhaval Dhanani <dhaval070@gmail.com>
 
+Upasana <me@upasana.me>
+
 =head1 COPYRIGHT
 
 Copyright (c) 2005, the above named PROJECT FOUNDER and CONTRIBUTORS.