Moved IE workarounds to be only in the HTTP engine
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Engine / HTTP.pm
index 6da9325..808cbca 100644 (file)
@@ -50,7 +50,12 @@ sub finalize_headers {
     $c->response->headers->date(time);
     $c->response->headers->header(
         Connection => $self->_keep_alive ? 'keep-alive' : 'close' );
-    $self->NEXT::finalize_headers($c);
+        
+    $c->response->header( Status => $c->response->status );
+        
+    # Avoid 'print() on closed filehandle Remote' warnings when using IE
+    print $c->response->headers->as_string("\015\012") if *STDOUT->opened();
+    print "\015\012" if *STDOUT->opened();
 }
 
 =head2 $self->finalize_read($c)
@@ -106,6 +111,19 @@ sub read_chunk {
     }
 }
 
+=head2 $self->write($c, $buffer)
+
+Writes the buffer to the client. Can only be called once for a request.
+
+=cut
+
+sub write {
+       # Avoid 'print() on closed filehandle Remote' warnings when using IE
+       return unless *STDOUT->opened();
+       
+       shift->NEXT::write( @_ );
+}
+
 =head2 run
 
 =cut