Fixed multiple header bug
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Engine.pm
index 23df2a1..7f0a11b 100644 (file)
@@ -47,7 +47,7 @@ sub finalize_body {
     if ( ref $c->response->body && $c->response->body->can('read') ) {
         while ( !$c->response->body->eof() ) {
             $c->response->body->read( my $buffer, $CHUNKSIZE );
-            $self->write( $c, $buffer );
+            last unless $self->write( $c, $buffer );
         }
         $c->response->body->close();
     }
@@ -78,8 +78,8 @@ sub finalize_cookies {
         push @cookies, $cookie->as_string;
     }
 
-    if (@cookies) {
-        $c->res->headers->push_header( 'Set-Cookie' => join ',', @cookies );
+    for my $cookie (@cookies) {
+        $c->res->headers->push_header( 'Set-Cookie' => $cookie );
     }
 }