has write_fh => (
is=>'ro',
- predicate=>'has_write_fh',
+ predicate=>'_has_write_fh',
lazy=>1,
builder=>'_build_write_fh',
);
sub DEMOLISH {
my $self = shift;
- return if $self->has_write_fh;
+ return if $self->_has_write_fh;
if($self->_has_writer) {
$self->_writer->close
}
in the same fashion), or a filehandle GLOB. Catalyst
will write it piece by piece into the response.
+When using a L<IO::Handle> type of object and no content length has been
+already set in the response headers Catalyst will make a reasonable attempt
+to determine the size of the Handle. Depending on the implementation of your
+handle object, setting the content length may fail. If it is at all possible
+for you to determine the content length of your handle object,
+it is recommended that you set the content length in the response headers
+yourself, which will be respected and sent by Catalyst in the response.
+
=head2 $res->has_body
Predicate which returns true when a body has been set.
sub myaction :Local Args {
my ($self, $c) = @_;
- $c->res->from_psgi_response($app->($self->env));
+ $c->res->from_psgi_response($app->($c->req->env));
}
Please note this does not attempt to map or nest your PSGI application under